gpt4 book ai didi

r - tapply() 函数依赖于 R 中的多列

转载 作者:行者123 更新时间:2023-12-04 09:21:36 27 4
gpt4 key购买 nike

电话 ,我有一个包含位置、样本年和计数的表。所以,

Location sample_year count  
A 1995 1
A 1995 1
A 2000 3
B 2000 1
B 2000 1
B 2000 5

我想要一个汇总表,它检查 'Location' 和 'sample_year' 列,并根据这个独特的组合对 'count' 求和,而不仅仅是单个列。所以,最终结果应该是:
Location sample_year sum_count
A 1995 2
A 2000 3
B 2000 7

我可以将列和数据合并到一个新列中以创建唯一的 Location-sample_year 但这不是一个干净的解决方案,尤其是如果我需要在某个时候将其扩展到三列。必须有更好的方法。

最佳答案

您可以使用 aggregate用一个公式。

先上数据:

x <- read.table(textConnection("Location sample_year count  
A 1995 1
A 1995 1
A 2000 3
B 2000 1
B 2000 1
B 2000 5"), header = TRUE)

使用 sum 和指定分组的公式进行聚合:
aggregate(count ~ Location+sample_year, data = x, sum)
Location sample_year count
1 A 1995 2
2 A 2000 3
3 B 2000 7

关于r - tapply() 函数依赖于 R 中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216015/

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