Hi, No problem. One more method if you wanted to try: library(data.table) dat2<-data.table(dat1) dat2[,list(x,time,Cumsum=cumsum(x)),list(id)] # id x time Cumsum #1: 1 5 12:01 5 #2: 1 14 12:02 19 #3: 1 6 12:03 25 #4: 1 3 12:04 28 #5: 2 98 12:01 98 #6: 2 23 12:02 121 #7: 2 1 12:03 122 #8: 2 4 12:04 126 #9: 3 5 12:01 5 #10: 3 65 12:02 70 #11: 3 23 12:03 93 #12: 3 23 12:04 116
A.K. ----- Original Message ----- From: TheRealJimShady <james.david.sm...@gmail.com> To: r-help@r-project.org Cc: Sent: Thursday, November 22, 2012 12:27 PM Subject: Re: [R] Using cumsum with 'group by' ? Thank you very much, I will try these tomorrow morning. On 22 November 2012 17:25, arun kirshna [via R] <ml-node+s789695n4650459...@n4.nabble.com> wrote: > HI, > You can do this in many ways: > dat1<-read.table(text=" > 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 > ",sep="",header=TRUE,stringsAsFactors=FALSE) > dat1$Cumsum<-ave(dat1$x,dat1$id,FUN=cumsum) > #or > unlist(tapply(dat1$x,dat1$id,FUN=cumsum),use.names=FALSE) > # [1] 5 19 25 28 98 121 122 126 5 70 93 116 > #or > library(plyr) > ddply(dat1,.(id),function(x) cumsum(x[3]))[,2] > # [1] 5 19 25 28 98 121 122 126 5 70 93 116 > head(dat1) > # id time x Cumsum > #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 > A.K. > > > > > ________________________________ > If you reply to this email, your message will be added to the discussion > below: > http://r.789695.n4.nabble.com/Using-cumsum-with-group-by-tp4650457p4650459.html > To unsubscribe from Using cumsum with 'group by' ?, click here. > NAML -- View this message in context: http://r.789695.n4.nabble.com/Using-cumsum-with-group-by-tp4650457p4650461.html Sent from the R help mailing list archive at Nabble.com. [[alternative HTML version deleted]] ______________________________________________ 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.