> 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-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf > Of TheRealJimShady > Sent: Thursday, November 22, 2012 9:09 AM > To: r-help@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@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. ______________________________________________ R-help@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.