Using cumsum with 'group by' ?
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.smith at gmail.com> To: r-help at 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+s789695n4650459h55 at 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 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.