gpt4 book ai didi

r - 在同一个 dplyr 链中使用 summarise 和 summarise_at

转载 作者:行者123 更新时间:2023-12-01 16:23:16 25 4
gpt4 key购买 nike

假设我想在用不同的函数分组后总结一个数据框。我怎样才能做到这一点?

mtcars %>% group_by(cyl) %>% summarise(size = n())
# A tibble: 3 x 2
cyl size
<dbl> <int>
1 4 11
2 6 7
3 8 14

但是如果我尝试:

mtcars %>% group_by(cyl) %>% summarise(size = n()) %>% summarise_at(vars(c(mpg, am:carb)), mean)
Error in is_string(y) : object 'carb' not found

如何首先使用 n() 获取每个组的大小,然后获取其他所选特征的平均值?

最佳答案

这是在分组变量的两个汇总操作上使用 dplyr::inner_join() 的一种方法:

mtcars %>% 
group_by(cyl) %>%
summarise(size = n()) %>%
inner_join(
mtcars %>%
group_by(cyl) %>%
summarise_at(vars(c(mpg, am:carb)), mean),
by='cyl' )

输出是:

# A tibble: 3 x 6
cyl size mpg am gear carb
<dbl> <int> <dbl> <dbl> <dbl> <dbl>
1 4 11 26.7 0.727 4.09 1.55
2 6 7 19.7 0.429 3.86 3.43
3 8 14 15.1 0.143 3.29 3.5

关于r - 在同一个 dplyr 链中使用 summarise 和 summarise_at,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57385799/

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