问:在R dplyr管道中,如何将一些中间输出分配给临时变量以便在管道中进一步使用?
我的方法可行.但它分配到全球框架,这是不可取的.必须有更好的方法,对吗?我认为我的方法涉及评论行将获得预期的结果.没有骰子.困惑为什么不起作用.
df <- data.frame(a = LETTERS[1:3],b=1:3) df %>% filter(b < 3) %>% assign("tmp",.,envir = .GlobalEnv) %>% # works #assign("tmp",.) %>% # doesn't work mutate(b = b*2) %>% bind_rows(tmp) a b 1 A 2 2 B 4 3 A 1 4 B 2
pipeR
是一个扩展管道功能而不添加不同管道的软件包(正如magrittr所做的那样).要分配,您传递一个变量名称,在括号中用〜引用作为管道中的元素:
library(dplyr) library(pipeR) df %>>% filter(b < 3) %>>% (~tmp) %>>% mutate(b = b*2) %>>% bind_rows(tmp) ## a b ## 1 A 2 ## 2 B 4 ## 3 A 1 ## 4 B 2 tmp ## a b ## 1 A 1 ## 2 B 2
虽然语法不是非常具有描述性,但pipeR是very well documented.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。