如何将列名的向量传递给R中的multidplyr分区函数

时间:2017-12-09 06:10:41

标签: r dplyr multidplyr

我遇到了multidplyr分区功能的问题。 我的目标是按列名列组查找摘要统计信息。 例如:

rcols <- c("cyl","am","vs")

现在,我想通过使用上面的 rcols 对象来查找摘要统计信息。 我可以使用以下行在dplyr中完成。

df <- mtcars %>% group_by(.dots=rcols) %>% summarise(Mean=mean(mpg))

现在我想通过使用multidplyr包来做同样的事情。

df <- mtcars %>% partition(rcols) %>% summarise(Mean=mean(mpg)) %>% collect()

但上述行没有按预期工作。

任何人都可以帮我解决这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我们必须使用所需的查询创建一个文本。

library(dplyr)
library(multidplyr)

rcols <- c("cyl","am","vs")
k1<-paste("d1<-mtcars%>%partition(",paste(rcols,collapse=","),")%>%summarise(Mean=mean(mpg))%>%collect()",sep="")
k2<-eval(parse(text=k1))