gpt4 book ai didi

r - 使用特定列表对数据帧 R 中的变量进行分组

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

我有以下列表:

  group1<-c("A", "B", "D")
group2<-c("C", "E")
group3<-c("F")

以及一个带有值和相应名称的数据框:
  df <- data.frame (name=c("A","B","C","D","E","F"),value=c(1,2,3,4,5,6))
df
name value
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
6 F 6

我想使用 name 列根据列表对数据进行分组;
  df
name value group
1 A 1 group1
2 B 2 group1
3 C 3 group2
4 D 4 group1
5 E 5 group2
6 F 6 group3

并对每组的值求和。
  df
group sum
1 group1 7
2 group2 8
3 group3 6

我搜索过类似的帖子,但未能解决我的问题。

最佳答案

这是一个方法。首先,使用ifelse将组分配给每个 name ,然后使用 aggregate得到每个 group 的总和.

> df$group <- with(df, ifelse(name %in% group1, "group1",
ifelse(name %in% group2, "group2", "group3" )))
> aggregate(value ~ group, sum, data=df)
group value
1 group1 7
2 group2 8
3 group3 6

关于r - 使用特定列表对数据帧 R 中的变量进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20176656/

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