我在 R 中有一个数据框,通常采用以下形式:
ID Year Amount
3 2000 45
3 2000 55
3 2002 10
3 2002 10
3 2004 30
4 2000 25
4 2002 40
4 2002 15
4 2004 45
4 2004 50
我想按 ID 计算每年的金额总和,并使用此输出获取新的数据框。
ID Year Amount
3 2000 100
3 2002 20
3 2004 30
4 2000 25
4 2002 55
4 2004 95
这是我需要做的一个例子,实际上数据要大得多。请帮忙,谢谢!
最佳答案
使用data.table
library("data.table")
D <- fread(
"ID Year Amount
3 2000 45
3 2000 55
3 2002 10
3 2002 10
3 2004 30
4 2000 25
4 2002 40
4 2002 15
4 2004 45
4 2004 50"
)
D[, .(Amount=sum(Amount)), by=.(ID, Year)]
并使用基R
:
aggregate(Amount ~ ID + Year, data=D, FUN=sum)
(@markus 评论)
关于R 通过两组变量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52413271/