gpt4 book ai didi

r - 在 group_by 中使用列索引而不是名称

转载 作者:行者123 更新时间:2023-12-04 13:10:38 24 4
gpt4 key购买 nike

我想用 dplyr 总结一个数据框,如下所示:

> test <-data.frame(ID = c("A", "A", "B", "B"), val = c(1:4))
> test %>% group_by(ID) %>% summarize(av = mean(val))
# A tibble: 2 x 2
ID av
<fctr> <dbl>
1 A 1.5
2 B 3.5

但假设不是按名为“ID”的列分组,我希望按第一列分组,而不管其名称如何。有没有一种简单的方法可以做到这一点?

我尝试了一些幼稚的方法( group_by(1)group_by(.[1])group_by(., .[1])group_by(names(.)[1]) 无济于事。我才刚刚开始使用 tidyverse 软件包,所以我可能会遗漏一些明显的东西。

This question非常相似,但它是关于 mutate 的,我无法将其概括为我的问题。 This question也相似,但接受的答案是使用不同的包,我试图坚持使用 dplyr。

最佳答案

您可以为此使用范围变体之一( group_by_at ):

test %>% group_by_at(1) %>% summarise(av = mean(val))

# A tibble: 2 x 2
# ID av
# <fctr> <dbl>
#1 A 1.5
#2 B 3.5

关于r - 在 group_by 中使用列索引而不是名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46436506/

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