[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