R - cumulative sum by condition

前端 未结 3 1509
感动是毒
感动是毒 2020-12-31 07:38

So I have a dataset which simplified looks something like this:

Year    ID     Sum
2009    999    100
2009    123     85
2009    666    100
2009    999    10         


        
3条回答
  •  青春惊慌失措
    2020-12-31 08:04

    Using 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
    

提交回复
热议问题