将中间输出分配给临时变量作为dplyr管道的一部分
发布时间:2020-05-23 11:45:14 所属栏目:程序设计 来源:互联网
导读:问:在R dplyr管道中,如何将一些中间输出分配给临时变量以便在管道中进一步使用? 我的方法可行.但它分配到全球框架,这是不可取的.必须有更好的方法,对吗?我认为我的方法涉及评论行将获得预期的结果.没有骰子.困惑为什么不起作用. df - data.frame(a = LETTE
问:在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. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |