加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

将中间输出分配给临时变量作为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.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读