我有这个数据框:
> names(events)
[1] "EID" "X" "Y" "trip" "tow" "catch" "effort" "depth"
[9] "season"
我的一些独特ID“EID”在162个案例中出现不止一次。
> length(events$EID)-length(unique(events$EID))
[1] 162
我想将每个复制EID组合在一起并总结它们的“捕获量”。 我一直在用plyr包尝试一些东西......但找不到一个相当简单的命令。
任何提示都将不胜感激! 非常感谢你!
答案 0 :(得分:3)
以下是一个可以帮助您入门的示例:
library(plyr)
n = 100
# Simulate data
set.seed(12345)
EID = factor(sample(10, n, replace=T))
catch = runif(n)
data = data.frame(EID, catch)
# Sum catch by EID
ddply(data, 'EID', function(x) data.frame(catch.sum = sum(x$catch)))
> ddply(data, 'EID', function(x) data.frame(catch.sum = sum(x$catch)))
EID catch.sum
1 1 6.041294
2 2 4.889522
3 3 2.466826
4 4 9.633270
5 5 5.673484
6 6 3.389666
7 7 6.572664
8 8 8.646577
9 9 4.056461
10 10 5.933441