R - 来自变量的组数据框

R - group data frame from a variable

我想设置将数据框分组为变量的列,然后根据它对数据框进行分组和汇总,即

require(dplyr)
var <- colnames(mtcars)[10]
summaries <- mtcars %>% dplyr::group_by(var) %>% dplyr::summarise_each(funs(mean))

这样我就可以简单地更改 var 并使用第二行而无需更改任何内容。不幸的是,我的解决方案不起作用,因为 group_by 询问列名而不是变量。

使用group_by_,它将参数作为字符串:

require(dplyr)
var <- colnames(mtcars)[10]
summaries <- mtcars %>% dplyr::group_by_(var) %>% dplyr::summarise_each(funs(mean))

(也许对标准与非标准评估的资源感兴趣:http://adv-r.had.co.nz/Computing-on-the-language.html