gpt4 book ai didi

r - dplyr group_by 列名向量?

转载 作者:行者123 更新时间:2023-12-05 02:04:18 33 4
gpt4 key购买 nike

我曾经能够使用字符串和列名称(“标准评估”)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。

最佳答案

我们可以将 group_bydplyr version >= 1.0.0

across 一起使用
library(dplyr)
mtcars %>%
group_by(across(all_of(c('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

对于旧版本,使用 group_by_at

mtcars %>%
group_by_at(c('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

关于r - dplyr group_by 列名向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64488129/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com