gpt4 book ai didi

R - 按条件累计总和

转载 作者:行者123 更新时间:2023-12-04 00:05:09 25 4
gpt4 key购买 nike

所以我有一个简化的数据集,看起来像这样:

Year    ID     Sum
2009 999 100
2009 123 85
2009 666 100
2009 999 100
2009 123 90
2009 666 85
2010 999 100
2010 123 100
2010 666 95
2010 999 75
2010 123 100
2010 666 85

我想按年份和 ID 添加一个带有累计总和的列。像这样:
Year     ID     Sum    Cum.Sum
2009 999 100 100
2009 123 85 85
2009 666 100 100
2009 999 100 200
2009 123 90 175
2009 666 85 185
2010 999 100 100
2010 123 100 100
2010 666 95 95
2010 999 75 175
2010 123 100 200
2010 666 85 180

我认为这应该很简单,但不知何故我一直无法弄清楚。我该怎么做呢?谢谢您的帮助!

最佳答案

使用 data.table :

require(data.table)
DT <- data.table(DF)
DT[, Cum.Sum := cumsum(Sum), by=list(Year, ID)]

Year ID Sum Cum.Sum
1: 2009 999 100 100
2: 2009 123 85 85
3: 2009 666 100 100
4: 2009 999 100 200
5: 2009 123 90 175
6: 2009 666 85 185
7: 2010 999 100 100
8: 2010 123 100 100
9: 2010 666 95 95
10: 2010 999 75 175
11: 2010 123 100 200
12: 2010 666 85 180

关于R - 按条件累计总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18925600/

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