gpt4 book ai didi

r - 我可以聚合数据帧并在 R 中保留字符串变量吗?

转载 作者:行者123 更新时间:2023-12-04 22:00:15 24 4
gpt4 key购买 nike

我有一个形式的数据框:

  Family Code Length Type
1 A 1 11 Alpha
2 A 3 8 Beta
3 A 3 9 Beta
4 B 4 7 Alpha
5 B 5 8 Alpha
6 C 6 2 Beta
7 C 6 5 Beta
8 C 6 4 Beta

我想通过取 Length 值的平均值将数据集减少到一个包含 Code 唯一值的数据集,但也要保留所有字符串变量,即
  Family Code Length Type
1 A 1 11 Alpha
2 A 3 8.5 Beta
3 B 4 7 Alpha
5 B 5 8 Alpha
6 C 6 3.67 Beta

我已经尝试过 aggregate() 和 ddply() 但这些似乎用 NA 替换了字符串,我正在努力寻找解决方法。

最佳答案

FamilyTypeCode 内是常数组,当您使用 ddply 时,您也可以在不更改任何内容的情况下对这些进行“分组”。 .如果您的原始数据集是 dat

ddply(dat, .(Family, Code, Type), summarize, Length=mean(Length))


  Family Code  Type    Length
1 A 1 Alpha 11.000000
2 A 3 Beta 8.500000
3 B 4 Alpha 7.000000
4 B 5 Alpha 8.000000
5 C 6 Beta 3.666667

FamilyTypeCode 内不是常数组,那么您需要定义如何汇总/聚合这些值。在这个例子中,我只取了一个唯一的值:
ddply(dat, .(Code), summarize, Family=unique(Family), 
Length=mean(Length), Type=unique(Type))

更新

使用 dplyr 的类似选项是
 library(dplyr)
dat %>%
group_by(Family, Code, Type) %>%
summarise(Length=mean(Length))


  dat %>%
group_by(Code) %>%
summarise(Family=unique(Family), Length=mean(Length), Type=unique(Type))

关于r - 我可以聚合数据帧并在 R 中保留字符串变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7882357/

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