我曾经可以使用字符串列名(“标准评估”)来进行group_by_
操作,但现在它已被弃用。
> data(mtcars)
> mtcars %>% group_by_('mpg') %>% tally() %>% head(2)
# A tibble: 2 x 2
mpg n
<dbl> <int>
1 10.4 2
2 13.3 1
Warning message:
`group_by_()` is deprecated as of dplyr 0.7.0.
Please use `group_by()` instead.
See vignette('programming') for more help
此外,看起来使用group_by_时可能不能按照多个列进行分组?
> mtcars %>% group_by_(c('mpg', 'cyl')) %>% tally() %>% head(2)
# A tibble: 2 x 2
mpg n
<dbl> <int>
1 10.4 2
2 13.3 1
如何使用列名称向量获取适当的计数?
例如,一个类似于下面的结果:
> mtcars %>% group_by(mpg, cyl) %>% tally() %>% head(2)
# A tibble: 2 x 3
# Groups: mpg [2]
mpg cyl n
<dbl> <dbl> <int>
1 10.4 8 2
2 13.3 8 1
但是使用 c('mpg', 'cyl')
吗?
编辑: 使用dplyr 1.0.0。