我可以在 R 中聚合数据帧并保留字符串变量吗?
我有一个以下形式的数据框:
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
我想通过取长度值的平均值将数据集减少为包含唯一代码值的数据集,但也保留所有字符串变量,即
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 替换了字符串,我正在努力寻找解决这个问题的方法。
I have a data frame of the form:
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
I would like to reduce the data set to one containing unique values of Code by taking a mean of Length values, but to retain all string variables too, i.e.
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
I've tried aggregate() and ddply() but these seem to replace strings with NA and I'm struggling to find a way round this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于
Family
和Type
在Code
组中是不变的,因此当您使用时,您也可以对它们进行“分组”,而无需更改任何内容ddply
。如果您的原始数据集是dat
给出
If
Family
andType
are not Constant inside aCode
group,那么您需要定义如何总结/聚合这些值。在此示例中,我仅采用单个唯一值:使用
dplyr
更新类似选项是
和
Since
Family
andType
are constant within aCode
group, you can "group" on those as well without changing anything when you useddply
. If your original data set wasdat
gives
If
Family
andType
are not constant within aCode
group, then you would need to define how to summarize/aggregate those values. In this example, I just take the single unique value:Update
Similar options using
dplyr
areand