如何在dplyr

时间:2017-03-05 18:42:33

标签: r dplyr

我是R和dplyr包的新手。我正在尝试将变量传递给dplyr group_by ,我们可以更改/更改。 例如,在使用航班数据集时,我可以使用以下代码获取任何列(或多列)的行数:

library(nycflights13)
flights %>% group_by(origin) %>% tally()
flights %>% group_by(carrier) %>% tally()
flights %>% group_by(origin,carrier) %>% tally()

但如果我想将所用列的名称传递给 group_by 作为变量,则在使用多个列名时它不起作用。

group="carrier"
flights %>% group_by_(group) %>% tally()

group="origin"
flights %>% group_by_(group) %>% tally()

group=c("origin","carrier") #This does not work
flights %>% group_by_(group) %>% tally()

我将不胜感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:12)

你几乎得到它,你只需要使用.dots参数传递你的分组变量。

group <- c("origin","carrier") 

flights %>% 
  group_by_(.dots = group) %>% 
  tally()