[R] Using cumsum with 'group by' ?

William Dunlap wdunlap at tibco.com
Thu Nov 22 20:07:16 CET 2012


> transform(d, cumsumXById = ave(x, id, FUN=cumsum))
   id  time  x cumsumXById
1   1 12:01  5           5
2   1 12:02 14          19
3   1 12:03  6          25
4   1 12:04  3          28
5   2 12:01 98          98
6   2 12:02 23         121
7   2 12:03  1         122
8   2 12:04  4         126
9   3 12:01  5           5
10  3 12:02 65          70
11  3 12:03 23          93
12  3 12:04 23         116

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of TheRealJimShady
> Sent: Thursday, November 22, 2012 9:09 AM
> To: r-help at r-project.org
> Subject: [R] Using cumsum with 'group by' ?
> 
> Hi,
> 
> First post here. Grateful for any help you can give. I have data which looks
> like this:
> 
> id    time    x
> 1   12:01    5
> 1   12:02   14
> 1   12:03   6
> 1   12:04   3
> 2   12:01   98
> 2   12:02   23
> 2   12:03   1
> 2   12:04   4
> 3   12:01   5
> 3   12:02   65
> 3   12:03   23
> 3   12:04   23
> 
> But I want to add a column which is the cumulative sum of X, but only by id.
> I've used cumsum before, but not in this way. So the result should be
> something like:
> 
> id       time      x        cumsum
> 1      12:01       5        5
> 1      12:02      14      19
> 1      12:03      6         25
> 1      12:04      3         28
> 2      12:01      98       98
> 2      12:02      23       121
> 2      12:03      1         122
> 2      12:04      4         126
> 3      12:01      5          5
> 3      12:02      65       70
> 3      12:03      23       93
> 3      12:04      23       116
> 
> Any ideas please?
> 
> 
> 
> 
> --
> View this message in context: http://r.789695.n4.nabble.com/Using-cumsum-with-
> group-by-tp4650457.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list