this is the data I expected suppose that I have a dataset 'd' m1 n1 A B C D 1 2 2 0.902500 0.640 0.9025 0.64 2 3 2 0.857375 0.512 0.9025 0.64 I want to add x1 (from 0 to m1), y1(from 0 to n1), m (range from m1+2 to 7-n1), n(from n1+2 to 9-m), x (x1 to x1+m-m1), y(y1 to y1+n-n1), expanding to another dataset 'd2' based on each row (combination of m1 and n1) so for the first row, m1 n1 A B C D 1 2 2 0.902500 0.640 0.9025 0.64 it should be expanded as m1 n1 x1 y1 m n x y A B C D 2 2 0 0 4 4 0 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 0 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 0 2 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 1 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 1 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 1 2 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 2 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 2 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 4 2 2 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 0 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 0 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 0 2 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 1 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 1 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 1 2 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 2 0 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 2 1 0.902500 0.640 0.9025 0.64 2 2 0 0 4 5 2 2 0.902500 0.640 0.9025 0.64
2 2 0 1 4 4 0 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 0 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 0 2 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 1 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 1 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 1 2 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 2 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 2 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 4 2 2 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 0 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 0 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 0 2 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 1 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 1 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 1 2 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 2 0 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 2 1 0.902500 0.640 0.9025 0.64 2 2 0 1 4 5 2 2 0.902500 0.640 0.9025 0.64 2 2 0 2 4 4 0 0 0.902500 0.640 0.9025 0.64 2 2 0 2 4 4 0 1 0.902500 0.640 0.9025 0.64 2 2 0 2 4 4 0 2 0.902500 0.640 0.9025 0.64 . . . . 2 2 1 0 4 4 0 0 0.902500 0.640 0.9025 0.64 2 2 1 1 4 4 0 1 0.902500 0.640 0.9025 0.64 2 2 1 2 4 4 0 2 0.902500 0.640 0.9025 0.64 . . . On Tue, Feb 19, 2013 at 11:59 AM, arun kirshna [via R] < ml-node+s789695n4659078...@n4.nabble.com> wrote: > > > Hi, > > Try this: > res1<- do.call(rbind,lapply(paste(d3$m1,d3$n1),function(m1) > do.call(rbind,lapply(0:(as.numeric(substr(m1,1,1))-1),function(x1) > do.call(rbind,lapply(0:(as.numeric(substr(m1,3,3))-1),function(y1) > do.call(rbind,lapply((as.numeric(substr(m1,1,1))+2):(7-as.numeric(substr(m1,3,3))),function(m) > do.call(rbind,lapply((as.numeric(substr(m1,3,3))+2):(9-m),function(n) > do.call(rbind,lapply(x1:(x1+m-as.numeric(substr(m1,1,1))), function(x) > do.call(rbind,lapply(y1:(y1+n-as.numeric(substr(m1,3,3))), function(y) > expand.grid(m1,x1,y1,m,n,x,y)) ))))))))))))) > names(res1)<- c("m1n1","x1","y1","m","n","x","y") > res1$m1<- NA; res1$n1<- NA > res1[,8:9]<-do.call(rbind,lapply(strsplit(as.character(res1$m1n1)," > "),as.numeric)) > res2<- res1[,c(8:9,3:7)] > library(plyr) > res2<-join(res1,d3,by=c("m1","n1"),type="full") #Instead of this step, you > can paste() the whole row of d3 and make suitable changes to the code above > > tail(res2) > # m1n1 x1 y1 m n x y m1 n1 cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H > #235 2 3 1 2 4 5 2 2 2 3 0.9025 0.64 0.857375 0.512 > #236 2 3 1 2 4 5 2 3 2 3 0.9025 0.64 0.857375 0.512 > #237 2 3 1 2 4 5 2 4 2 3 0.9025 0.64 0.857375 0.512 > #238 2 3 1 2 4 5 3 2 2 3 0.9025 0.64 0.857375 0.512 > #239 2 3 1 2 4 5 3 3 2 3 0.9025 0.64 0.857375 0.512 > #240 2 3 1 2 4 5 3 4 2 3 0.9025 0.64 0.857375 0.512 > > A.K. > ________________________________ > From: Joanna Zhang <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4659078&i=0>> > > To: arun <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4659078&i=1>> > > Sent: Tuesday, February 19, 2013 11:43 AM > Subject: Re: [R] cumulative sum by group and under some criteria > > > Thanks. I can get the data I expected (get rid of the m1=3, n1=3) using > the join and 'inner' code, but just curious about the way to expand the > data. There should be a way to expand the data based on each row > (combination of the variables), unique(d3$m1 & d3$n1) ?. > > or is there a way to use 'data.frame' and 'for' loop to expand directly > from the data? like res1<-data.frame (d3) for () {.... > > > On Tue, Feb 19, 2013 at 9:55 AM, arun <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4659078&i=2>> > wrote: > > If you can provide me the output that you expect with all the rows of the > combination in the res2, I can take a look. > > > > > > > > > > > > > > >________________________________ > > > >From: Joanna Zhang <[hidden > >email]<http://user/SendEmail.jtp?type=node&node=4659078&i=3>> > > >To: arun <[hidden > >email]<http://user/SendEmail.jtp?type=node&node=4659078&i=4>> > > > > >Sent: Tuesday, February 19, 2013 10:42 AM > > > >Subject: Re: [R] cumulative sum by group and under some criteria > > > > > >Thanks. But I thougth the expanded dataset 'res1' should not have > combination of m1=3 and n1=3 because it is based on dataset 'd3' which > doesn't have m1=3 and n1=3, right?> > >>In the example that you provided: > >> (m1+2):(maxN-(n1+2)) > >>#[1] 5 > >> (n1+2):(maxN-5) > >>#[1] 4 > >>#Suppose > >> x1<- 4 > >> y1<- 2 > >> x1:(x1+5-m1) > >>#[1] 4 5 6 > >> y1:(y1+4-n1) > >>#[1] 2 3 4 > >> > >> datnew<-expand.grid(5,4,4:6,2:4) > >> colnames(datnew)<- c("m","n","x","y") > >>datnew<-within(datnew,{p1<- x/m;p2<-y/n}) > >>res<-cbind(datnew,d2[rep(1:nrow(d2),nrow(datnew)),]) > >> row.names(res)<- 1:nrow(res) > >> res > >># m n x y p2 p1 m1 n1 cterm1_P1L cterm1_P0H > >>#1 5 4 4 2 0.50 0.8 3 2 0.00032 0.0025 > >>#2 5 4 5 2 0.50 1.0 3 2 0.00032 0.0025 > >>#3 5 4 6 2 0.50 1.2 3 2 0.00032 0.0025 > >>#4 5 4 4 3 0.75 0.8 3 2 0.00032 0.0025 > >>#5 5 4 5 3 0.75 1.0 3 2 0.00032 0.0025 > >>#6 5 4 6 3 0.75 1.2 3 2 0.00032 0.0025 > >>#7 5 4 4 4 1.00 0.8 3 2 0.00032 0.0025 > >>#8 5 4 5 4 1.00 1.0 3 2 0.00032 0.0025 > >>#9 5 4 6 4 1.00 1.2 3 2 0.00032 0.0025 > >> > >>A.K. > >> > >> > >> > >> > >> > >>----- Original Message ----- > >>From: Zjoanna <[hidden > >>email]<http://user/SendEmail.jtp?type=node&node=4659078&i=5>> > > >>To: [hidden email]<http://user/SendEmail.jtp?type=node&node=4659078&i=6> > >>Cc: > >> > >>Sent: Sunday, February 10, 2013 6:04 PM > >>Subject: Re: [R] cumulative sum by group and under some criteria > >> > >> > >>Hi, > >>How to expand or loop for one variable n based on another variable? for > >>example, I want to add m (from m1 to maxN- n1-2) and for each m, I want > to > >>add n (n1+2 to maxN-m), and similarly add x and y, then I need to do > some > >>calculations. > >> > >>d3<-data.frame(d2) > >> for (m in (m1+2):(maxN-(n1+2)){ > >> for (n in (n1+2):(maxN-m)){ > >> for (x in x1:(x1+m-m1)){ > >> for (y in y1:(y1+n-n1)){ > >> p1<- x/m > >> p2<- y/n > >>}}}} > >> > >>On Thu, Feb 7, 2013 at 12:16 AM, arun kirshna [via R] < > >>[hidden email] <http://user/SendEmail.jtp?type=node&node=4659078&i=7>> > wrote: > >> > >>> Hi, > >>> > >>> Anyway, just using some random combinations: > >>> dnew<- expand.grid(4:10,5:10,6:10,3:7,4:5,6:8) > >>> names(dnew)<-c("m","n","x1","y1","x","y") > >>> resF<- cbind(dnew,d2[rep(1:nrow(d2),nrow(dnew)),]) > >>> > >>> row.names(resF)<- 1:nrow(resF) > >>> head(resF) > >>> # m n x1 y1 x y m1 n1 cterm1_P1L cterm1_P0H > >>> #1 4 5 6 3 4 6 3 2 0.00032 0.0025 > >>> #2 5 5 6 3 4 6 3 2 0.00032 0.0025 > >>> #3 6 5 6 3 4 6 3 2 0.00032 0.0025 > >>> #4 7 5 6 3 4 6 3 2 0.00032 0.0025 > >>> #5 8 5 6 3 4 6 3 2 0.00032 0.0025 > >>> #6 9 5 6 3 4 6 3 2 0.00032 0.0025 > >>> > >>> nrow(resF) > >>> #[1] 6300 > >>> I am not sure what you want to do with this. > >>> A.K. > >>> ________________________________ > >>> From: Joanna Zhang <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=0>> > >>> > >>> To: arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=1>> > >> > >>> > >>> Sent: Wednesday, February 6, 2013 10:29 AM > >>> Subject: Re: cumulative sum by group and under some criteria > >>> > >>> > >>> Hi, > >>> > >>> Thanks! I need to do some calculations in the expended data, the > expended > >>> data would be very large, what is an efficient way, doing calculations > >>> while expending the data, something similiar with the following, or > >>> expending data using the code in your message and then add > calculations in > >>> the expended data? > >>> > >>> d3<-data.frame(d2) > >>> for .......{ > >>> for { > >>> for .... { > >>> for .....{ > >>> p1<- x/m > >>> p2<- y/n > >>> .......... > >>> }} > >>> }} > >>> > >>> I also modified your code for expending data: > >>> dnew<-expand.grid((m1+2):(maxN-(n1+2)),(n1+2):(maxN-m),0:m1,0:n1, > >>> x1:(x1+m-m1),y1:(y1+n-n1)) > >>> names(dnew)<-c("m","n","x1","y1","x","y") > >>> dnew > >>> resF<-cbind(dnew[,c(2,1)],d2[rep(1:nrow(d2),nrow(dnew)),]) # this > is > >>> not correct, how to modify it. > >>> resF > >>> row.names(resF)<-1:nrow(resF) > >>> resF > >>> > >>> > >>> > >>> > >>> On Tue, Feb 5, 2013 at 2:46 PM, arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=2>> > >> > >>> wrote: > >>> > >>> Hi, > >>> > >>> > > >>> >You can reduce the steps to reach d2: > >>> >res3<- > >>> with(res2,aggregate(cbind(cterm1_P1L,cterm1_P0H),by=list(m1,n1),max)) > >>> > > >>> >#Change it to: > >>> >res3new<- aggregate(.~m1+n1,data=res2[,c(1:2,12:13)],max) > >>> >res3new > >>> > m1 n1 cterm1_P1L cterm1_P0H > >>> >1 2 2 0.01440 0.00273750 > >>> >2 3 2 0.00032 0.00250000 > >>> >3 2 3 0.01952 0.00048125 > >>> >d2<-res3new[res3new[,3]<0.01 & res3new[,4]<0.01,] > >>> > > >>> > dnew<-expand.grid(4:10,5:10) > >>> > names(dnew)<-c("n","m") > >>> >resF<-cbind(dnew[,c(2,1)],d2[rep(1:nrow(d2),nrow(dnew)),]) > >>> > > >>> >row.names(resF)<-1:nrow(resF) > >>> > head(resF) > >>> ># m n m1 n1 cterm1_P1L cterm1_P0H > >>> >#1 5 4 3 2 0.00032 0.0025 > >>> >#2 5 5 3 2 0.00032 0.0025 > >>> >#3 5 6 3 2 0.00032 0.0025 > >>> >#4 5 7 3 2 0.00032 0.0025 > >>> >#5 5 8 3 2 0.00032 0.0025 > >>> >#6 5 9 3 2 0.00032 0.0025 > >>> > > >>> >A.K. > >>> > > >>> >________________________________ > >>> >From: Joanna Zhang <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=3>> > >>> > >>> >To: arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=4>> > >> > >>> > >>> >Sent: Tuesday, February 5, 2013 2:48 PM > >>> > > >>> >Subject: Re: cumulative sum by group and under some criteria > >>> > > >>> > > >>> > Hi , > >>> >what I want is : > >>> >m n m1 n1 cterm1_P1L cterm1_P0H > >>> > 5 4 3 2 0.00032 0.00250000 > >>> > 5 5 3 2 0.00032 0.00250000 > >>> > 5 6 3 2 0.00032 0.00250000 > >>> > 5 7 3 2 0.00032 0.00250000 > >>> > 5 8 3 2 0.00032 0.00250000 > >>> > 5 9 3 2 0.00032 0.00250000 > >>> >5 10 3 2 0.00032 0.00250000 > >>> >6 4 3 2 0.00032 0.00250000 > >>> >6 5 3 2 0.00032 0.00250000 > >>> >6 6 3 2 0.00032 0.00250000 > >>> >6 7 3 2 0.00032 0.00250000 > >>> >..... > >>> >6 10 3 2 0.00032 0.00250000 > >>> > > >>> > > >>> > > >>> >On Tue, Feb 5, 2013 at 1:12 PM, arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=5>> > >> > >>> wrote: > >>> > > >>> >Hi, > >>> >> > >>> >>Saw your message on Nabble. > >>> >> > >>> >> > >>> >>"I want to add some more columns based on the results. Is the > following > >>> code good way to create such a data frame and How to see the column m > and n > >>> in the updated data? > >>> >> > >>> >>d2<- reres3[res3[,3]<0.01 & res3[,4]<0.01,] > >>> >># should be a typo > >>> >> > >>> >>colnames(d2)[1:2]<- c("m1","n1"); > >>> >>d2 #already a data.frame > >>> >> > >>> >>d3<-data.frame(d2) > >>> >> for (m in (m1+2):10){ > >>> >> for (n in (n1+2):10){ > >>> >> d3<-rbind(d3, c(d2))}}" #this is not making much sense to me. > >>> Especially, you mentioned you wanted add more columns. > >>> >>#Running this step gave error > >>> >>#Error: object 'm1' not found > >>> >> > >>> >>Not sure what you want as output. > >>> >>Could you show the ouput that is expected: > >>> >> > >>> >>A.K. > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >>________________________________ > >>> >>From: Joanna Zhang <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=6>> > >>> > >>> >>To: arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=7>> > >> > >>> > >>> >>Sent: Tuesday, February 5, 2013 10:23 AM > >>> >> > >>> >>Subject: Re: cumulative sum by group and under some criteria > >>> >> > >>> >> > >>> >>Hi, > >>> >> > >>> >>Yes, I changed code. You answered the questions. But how can I put > two > >>> criteria in the code, if both the maximum value of cterm1_p1L <= 0.01 > and > >>> cterm1_p1H <=0.01, the output the m1,n1. > >>> >> > >>> >> > >>> >> > >>> >> > >>> >>On Tue, Feb 5, 2013 at 8:47 AM, arun <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=8>> > >> > >>> wrote: > >>> >> > >>> >> > >>> >>> > >>> >>> HI, > >>> >>> > >>> >>> > >>> >>>I am not getting the same results as yours: You must have changed > the > >>> dataset. > >>> >>> res2[,1:2][res2$cterm1_P1L<0.6 & res2$cterm1_P0H<0.95,] > >>> >>> m1 n1 > >>> >>>1 2 2 > >>> >>>2 2 2 > >>> >>>3 2 2 > >>> >>>4 2 2 > >>> >>>5 2 2 > >>> >>>6 2 2 > >>> >>>7 2 2 > >>> >>>8 2 2 > >>> >>>9 2 2 > >>> >>>10 3 2 > >>> >>>11 3 2 > >>> >>>12 3 2 > >>> >>>13 3 2 > >>> >>>14 3 2 > >>> >>>15 3 2 > >>> >>>16 3 2 > >>> >>>17 3 2 > >>> >>>18 3 2 > >>> >>>19 3 2 > >>> >>>20 3 2 > >>> >>>21 3 2 > >>> >>>22 2 3 > >>> >>>23 2 3 > >>> >>>24 2 3 > >>> >>>25 2 3 > >>> >>>26 2 3 > >>> >>>27 2 3 > >>> >>>28 2 3 > >>> >>>29 2 3 > >>> >>>30 2 3 > >>> >>>31 2 3 > >>> >>>32 2 3 > >>> >>>33 2 3 > >>> >>> > >>> >>> > >>> >>>Regarding the maximum value within each block, haven't I answered > in > >>> the earlier post. > >>> >>> > >>> >>>aggregate(cterm1_P1L~m1+n1,data=res2,max) > >>> >>># m1 n1 cterm1_P1L > >>> >>>#1 2 2 0.01440 > >>> >>>#2 3 2 0.00032 > >>> >>>#3 2 3 0.01952 > >>> >>> > >>> >>> > >>> >>> > with(res2,aggregate(cbind(cterm1_P1L,cterm1_P0H),by=list(m1,n1),max)) > >>> >>># Group.1 Group.2 cterm1_P1L cterm1_P0H > >>> >>>#1 2 2 0.01440 0.00273750 > >>> >>>#2 3 2 0.00032 0.00250000 > >>> >>>#3 2 3 0.01952 0.00048125 > >>> >>> > >>> >>> > >>> >>>A.K. > >>> >>> > >>> >>> > >>> >>>----- Original Message ----- > >> > >>> >>>From: "[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=9>";;; > >>> <[hidden email] <http://user/SendEmail.jtp?type=node&node=4657773&i=10>> > > >>> >>>To: [hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=11> > >>> >>>Cc: > >>> >>> > >>> >>>Sent: Tuesday, February 5, 2013 9:33 AM > >>> >>>Subject: Re: cumulative sum by group and under some criteria > >>> >>> > >>> >>>Hi, > >>> >>>If use this > >>> >>> > >>> >>>res2[,1:2][res2$cterm1_P1L<0.6 & res2$cterm1_P0H<0.95,] > >>> >>> > >>> >>>the results are the following, but actually only m1=3, n1=2 sastify > the > >>> criteria, as I need to look at the row with maximum value within each > >>> block,not every row. > >>> >>> > >>> >>> > >>> >>> m1 n1 > >>> >>>1 2 2 > >>> >>>10 3 2 > >>> >>>11 3 2 > >>> >>>12 3 2 > >>> >>>13 3 2 > >>> >>>14 3 2 > >>> >>>15 3 2 > >>> >>>16 3 2 > >>> >>>17 3 2 > >>> >>>18 3 2 > >>> >>>19 3 2 > >>> >>>20 3 2 > >>> >>>21 3 2 > >>> >>>22 2 3 > >>> >>>23 2 3 > >>> >>> > >>> >>> > >>> >>><quote author='arun kirshna'> > >>> >>> > >>> >>> > >>> >>> > >>> >>>Hi, > >>> >>>Thanks. This extract every row that satisfy the condition, but I > need > >>> look > >>> >>>at the last row (the maximum of cumulative sum) for each block > (m1,n1). > >>> for > >>> >>>example, if I set the criteria > >>> >>> > >>> >>>res2$cterm1_P1L<0.6 & res2$cterm1_P0H<0.95, this should extract m1= > 3, > >>> n1 = > >>> >>>2. > >>> >>> > >>> >>> > >>> >>>Hi, > >>> >>>I am not sure I understand your question. > >>> >>>res2$cterm1_P1L<0.6 & res2$cterm1_P0H<0.95 > >>> >>> #[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > TRUE > >>> TRUE > >>> >>>TRUE > >>> >>>#[16] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > TRUE > >>> TRUE > >>> >>>TRUE > >>> >>>#[31] TRUE TRUE TRUE > >>> >>> > >>> >>>This will extract all the rows. > >>> >>> > >>> >>> > >>> >>>res2[,1:2][res2$cterm1_P1L<0.01 & res2$cterm1_P1L!=0,] > >>> >>># m1 n1 > >>> >>>#21 3 2 > >>> >>>This extract only the row you wanted. > >>> >>> > >>> >>>For the different groups: > >>> >>> > >>> >>>aggregate(cterm1_P1L~m1+n1,data=res2,max) > >>> >>># m1 n1 cterm1_P1L > >>> >>>#1 2 2 0.01440 > >>> >>>#2 3 2 0.00032 > >>> >>>#3 2 3 0.01952 > >>> >>> > >>> >>> aggregate(cterm1_P1L~m1+n1,data=res2,function(x) max(x)<0.01) > >>> >>> # m1 n1 cterm1_P1L > >>> >>>#1 2 2 FALSE > >>> >>>#2 3 2 TRUE > >>> >>>#3 2 3 FALSE > >>> >>> > >>> >>>res4<-aggregate(cterm1_P1L~m1+n1,data=res2,function(x) max(x)<0.01) > >>> >>>res4[,1:2][res4[,3],] > >>> >>># m1 n1 > >>> >>>#2 3 2 > >>> >>> > >>> >>>A.K. > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>>----- Original Message ----- > >> > >>> >>>From: "[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=12>";;; > >>> <[hidden email] <http://user/SendEmail.jtp?type=node&node=4657773&i=13>> > > >>> >>>To: [hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=14> > >>> >>>Cc: > >>> >>>Sent: Sunday, February 3, 2013 3:58 PM > >>> >>>Subject: Re: cumulative sum by group and under some criteria > >>> >>> > >>> >>>Hi, > >>> >>>Let me restate my questions. I need to get the m1 and n1 that > satisfy > >>> some > >>> >>>criteria, for example in this case, within each group, the maximum > >>> >>>cterm1_p1L ( the last row in this group) <0.01. I need to extract > m1=3, > >>> >>>n1=2, I only need m1, n1 in the row. > >>> >>> > >>> >>>Also, how to create the structure from the data.frame, I am new to > R, I > >>> need > >>> >>>to change the maxN and run the loop to different data. > >>> >>>Thanks very much for your help! > >>> >>> > >>> >>><quote author='arun kirshna'> > >>> >>>HI, > >>> >>> > >>> >>>I think this should be more correct: > >>> >>>maxN<-9 > >>> >>>c11<-0.2 > >>> >>>c12<-0.2 > >>> >>>p0L<-0.05 > >>> >>>p0H<-0.05 > >>> >>>p1L<-0.20 > >>> >>>p1H<-0.20 > >>> >>> > >>> >>>d <- structure(list(m1 = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > >>> >>>2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3), > >>> >>> n1 = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, > >>> >>> 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), x1 = c(0, > >>> >>> 0, 0, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, > >>> >>> 2, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3), y1 = c(0, 1, 2, 0, > >>> >>> 1, 2, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, > >>> >>> 2, 0, 1, 2, 0, 1, 2, 0, 1, 2), Fmm = c(0, 0, 0, 0.7, 0.59, > >>> >>> 0.64, 1, 1, 1, 0, 0, 0, 0, 0.63, 0.7, 0.74, 0.68, 1, 1, 1, > >>> >>> 1, 0, 0, 0, 0.62, 0.63, 0.6, 0.63, 0.6, 0.68, 1, 1, 1), Fnn = > c(0, > >>> >>> 0.64, 1, 0, 0.51, 1, 0, 0.67, 1, 0, 0.62, 0.69, 1, 0, 0.54, > >>> >>> 0.62, 1, 0, 0.63, 0.73, 1, 0, 0.63, 1, 0, 0.7, 1, 0, 0.7, > >>> >>> 1, 0, 0.58, 1), Qm = c(1, 1, 1, 0.65, 0.45, 0.36, 0.5, 0.165, > >>> >>> 0, 1, 1, 1, 1, 0.685, 0.38, 0.32, 0.32, 0.5, 0.185, 0.135, > >>> >>> 0, 1, 1, 1, 0.69, 0.37, 0.4, 0.685, 0.4, 0.32, 0.5, 0.21, > >>> >>> 0), Qn = c(1, 0.36, 0, 0.65, 0.45, 0, 0.5, 0.165, 0, 1, 0.38, > >>> >>> 0.31, 0, 0.685, 0.38, 0.32, 0, 0.5, 0.185, 0.135, 0, 1, 0.37, > >>> >>> 0, 0.69, 0.3, 0, 0.685, 0.3, 0, 0.5, 0.21, 0), term1_p0 = > >>> c(0.81450625, > >>> >>> 0.0857375, 0.00225625, 0.0857375, 0.009025, 0.0002375, > 0.00225625, > >>> >>> 0.0002375, 6.25e-06, 0.7737809375, 0.1221759375, > >>> 0.00643031249999999, > >>> >>> 0.0001128125, 0.081450625, 0.012860625, 0.000676875, > 1.1875e-05, > >>> >>> 0.0021434375, 0.0003384375, 1.78125e-05, 3.125e-07, > 0.7737809375, > >>> >>> 0.081450625, 0.0021434375, 0.1221759375, 0.012860625, > >>> 0.0003384375, > >>> >>> 0.00643031249999999, 0.000676875, 1.78125e-05, 0.0001128125, > >>> >>> 1.1875e-05, 3.125e-07), term1_p1 = c(0.4096, 0.2048, 0.0256, > >>> >>> 0.2048, 0.1024, 0.0128, 0.0256, 0.0128, 0.0016, 0.32768, > >>> >>> 0.24576, 0.06144, 0.00512, 0.16384, 0.12288, 0.03072, 0.00256, > >>> >>> 0.02048, 0.01536, 0.00384, 0.00032, 0.32768, 0.16384, 0.02048, > >>> >>> 0.24576, 0.12288, 0.01536, 0.06144, 0.03072, 0.00384, 0.00512, > >>> >>> 0.00256, 0.00032)), .Names = c("m1", "n1", "x1", "y1", "Fmm", > >>> >>>"Fnn", "Qm", "Qn", "term1_p0", "term1_p1"), row.names = c(NA, > >>> >>>33L), class = "data.frame") > >>> >>> > >>> >>>library(zoo) > >>> >>>lst1<- split(d,list(d$m1,d$n1)) > >>> >>>res2<-do.call(rbind,lapply(lst1[lapply(lst1,nrow)!=0],function(x){ > >>> >>>x[,11:14]<-NA; > >>> >>>x[,11:12][x$Qm<=c11,]<-cumsum(x[,9:10][x$Qm<=c11,]); > >>> >>>x[,13:14][x$Qn<=c12,]<-cumsum(x[,9:10][x$Qn<=c12,]); > >>> >>>colnames(x)[11:14]<- > >>> c("cterm1_P0L","cterm1_P1L","cterm1_P0H","cterm1_P1H"); > >>> >>>x1<-na.locf(x); > >>> >>>x1[,11:14][is.na(x1[,11:14])]<-0; > >>> >>>x1})) > >>> >>>row.names(res2)<- 1:nrow(res2) > >>> >>> > >>> >>> res2 > >>> >>> # m1 n1 x1 y1 Fmm Fnn Qm Qn term1_p0 term1_p1 > >>> cterm1_P0L > >>> >>>cterm1_P1L cterm1_P0H cterm1_P1H > >>> >>> > >>> >>>#1 2 2 0 0 0.00 0.00 1.000 1.000 0.8145062500 0.40960 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#2 2 2 0 1 0.00 0.64 1.000 0.360 0.0857375000 0.20480 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#3 2 2 0 2 0.00 1.00 1.000 0.000 0.0022562500 0.02560 > >>> 0.0000000000 > >>> >>> 0.00000 0.0022562500 0.02560 > >>> >>>#4 2 2 1 0 0.70 0.00 0.650 0.650 0.0857375000 0.20480 > >>> 0.0000000000 > >>> >>> 0.00000 0.0022562500 0.02560 > >>> >>>#5 2 2 1 1 0.59 0.51 0.450 0.450 0.0090250000 0.10240 > >>> 0.0000000000 > >>> >>> 0.00000 0.0022562500 0.02560 > >>> >>>#6 2 2 1 2 0.64 1.00 0.360 0.000 0.0002375000 0.01280 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024937500 0.03840 > >>> >>>#7 2 2 2 0 1.00 0.00 0.500 0.500 0.0022562500 0.02560 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024937500 0.03840 > >>> >>>#8 2 2 2 1 1.00 0.67 0.165 0.165 0.0002375000 0.01280 > >>> 0.0002375000 > >>> >>> 0.01280 0.0027312500 0.05120 > >>> >>>#9 2 2 2 2 1.00 1.00 0.000 0.000 0.0000062500 0.00160 > >>> 0.0002437500 > >>> >>> 0.01440 0.0027375000 0.05280 > >>> >>>#10 3 2 0 0 0.00 0.00 1.000 1.000 0.7737809375 0.32768 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#11 3 2 0 1 0.00 0.63 1.000 0.370 0.0814506250 0.16384 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#12 3 2 0 2 0.00 1.00 1.000 0.000 0.0021434375 0.02048 > >>> 0.0000000000 > >>> >>> 0.00000 0.0021434375 0.02048 > >>> >>>#13 3 2 1 0 0.62 0.00 0.690 0.690 0.1221759375 0.24576 > >>> 0.0000000000 > >>> >>> 0.00000 0.0021434375 0.02048 > >>> >>>#14 3 2 1 1 0.63 0.70 0.370 0.300 0.0128606250 0.12288 > >>> 0.0000000000 > >>> >>> 0.00000 0.0021434375 0.02048 > >>> >>>#15 3 2 1 2 0.60 1.00 0.400 0.000 0.0003384375 0.01536 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024818750 0.03584 > >>> >>>#16 3 2 2 0 0.63 0.00 0.685 0.685 0.0064303125 0.06144 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024818750 0.03584 > >>> >>>#17 3 2 2 1 0.60 0.70 0.400 0.300 0.0006768750 0.03072 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024818750 0.03584 > >>> >>>#18 3 2 2 2 0.68 1.00 0.320 0.000 0.0000178125 0.00384 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024996875 0.03968 > >>> >>>#19 3 2 3 0 1.00 0.00 0.500 0.500 0.0001128125 0.00512 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024996875 0.03968 > >>> >>>#20 3 2 3 1 1.00 0.58 0.210 0.210 0.0000118750 0.00256 > >>> 0.0000000000 > >>> >>> 0.00000 0.0024996875 0.03968 > >>> >>>#21 3 2 3 2 1.00 1.00 0.000 0.000 0.0000003125 0.00032 > >>> 0.0000003125 > >>> >>> 0.00032 0.0025000000 0.04000 > >>> >>>#22 2 3 0 0 0.00 0.00 1.000 1.000 0.7737809375 0.32768 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#23 2 3 0 1 0.00 0.62 1.000 0.380 0.1221759375 0.24576 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#24 2 3 0 2 0.00 0.69 1.000 0.310 0.0064303125 0.06144 > >>> 0.0000000000 > >>> >>> 0.00000 0.0000000000 0.00000 > >>> >>>#25 2 3 0 3 0.00 1.00 1.000 0.000 0.0001128125 0.00512 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001128125 0.00512 > >>> >>>#26 2 3 1 0 0.63 0.00 0.685 0.685 0.0814506250 0.16384 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001128125 0.00512 > >>> >>>#27 2 3 1 1 0.70 0.54 0.380 0.380 0.0128606250 0.12288 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001128125 0.00512 > >>> >>>#28 2 3 1 2 0.74 0.62 0.320 0.320 0.0006768750 0.03072 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001128125 0.00512 > >>> >>>#29 2 3 1 3 0.68 1.00 0.320 0.000 0.0000118750 0.00256 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001246875 0.00768 > >>> >>>#30 2 3 2 0 1.00 0.00 0.500 0.500 0.0021434375 0.02048 > >>> 0.0000000000 > >>> >>> 0.00000 0.0001246875 0.00768 > >>> >>>#31 2 3 2 1 1.00 0.63 0.185 0.185 0.0003384375 0.01536 > >>> 0.0003384375 > >>> >>> 0.01536 0.0004631250 0.02304 > >>> >>>#32 2 3 2 2 1.00 0.73 0.135 0.135 0.0000178125 0.00384 > >>> 0.0003562500 > >>> >>> 0.01920 0.0004809375 0.02688 > >>> >>>#33 2 3 2 3 1.00 1.00 0.000 0.000 0.0000003125 0.00032 > >>> 0.0003565625 > >>> >>> 0.01952 0.0004812500 0.02720 > >>> >>> > >>> >>>#Sorry, some values in my previous solution didn't look right. I > >>> didn't > >>> >>>A.K. > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>>----- Original Message ----- > >>> >>>From: Zjoanna <[hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=15>> > >>> > >>> >>>To: [hidden email]< > http://user/SendEmail.jtp?type=node&node=4657773&i=16> > >> > >>> >>>Cc: > >>> >>>Sent: Friday, February 1, 2013 12:19 PM > >>> >>>Subject: Re: [R] cumulative sum by group and under some criteria > >>> >>> > >>> >>>Thank you very much for your reply. Your code work well with this > >>> example. > >>> >>>I modified a little to fit my real data, I got an error massage. > >>> >>> > >>> >>>Error in split.default(x = seq_len(nrow(x)), f = f, drop = drop, > ...) : > >>> >>> Group length is 0 but data length > 0 > >>> >>> > >>> >>> > >>> >>>On Thu, Jan 31, 2013 at 12:21 PM, arun kirshna [via R] < > >>> >>>[hidden email] < > http://user/SendEmail.jtp?type=node&node=4657773&i=17>> > >> > >>> wrote: > >>> >>> > >>> >>>> Hi, > >>> >>>> Try this: > >>> >>>> colnames(d)<-c("m1","n1","x1","y1","p11","p12") > >>> >>>> library(zoo) > >>> >>>> res1<- > >>> do.call(rbind,lapply(lapply(split(d,list(d$m1,d$n1)),function(x) > >>> >>>> {x$cp11[x$x1>1]<- cumsum(x$p11[x$x1>1]);x$cp12[x$y1>1]<- > >>> >>>> cumsum(x$p12[x$y1>1]);x}),function(x) > >>> >>>> {x$cp11<-na.locf(x$cp11,na.rm=F);x$cp12<- > >>> na.locf(x$cp12,na.rm=F);x})) > >>> >>>> #there would be a warning here as one of the list element is > NULL. > >>> The, > >>> >>>> warning is okay > >>> >>>> row.names(res1)<- 1:nrow(res1) > >>> >>>> res1[,7:8][is.na(res1[,7:8])]<- 0 > >>> >>>> res1 > >>> >>>> # m1 n1 x1 y1 p11 p12 cp11 cp12 > >>> >>>> #1 2 2 0 0 0.00 0.00 0.00 0.00 > >>> >>>> #2 2 2 0 1 0.00 0.50 0.00 0.00 > >>> >>>> #3 2 2 0 2 0.00 1.00 0.00 1.00 > >>> >>>> #4 2 2 1 0 0.50 0.00 0.00 1.00 > >>> >>>> #5 2 2 1 1 0.50 0.50 0.00 1.00 > >>> >>>> #6 2 2 1 2 0.50 1.00 0.00 2.00 > >>> >>>> #7 2 2 2 0 1.00 0.00 1.00 2.00 > >>> >>>> #8 2 2 2 1 1.00 0.50 2.00 2.00 > >>> >>>> #9 2 2 2 2 1.00 1.00 3.00 3.00 > >>> >>>> #10 3 2 0 0 0.00 0.00 0.00 0.00 > >>> >>>> #11 3 2 0 1 0.00 0.50 0.00 0.00 > >>> >>>> #12 3 2 0 2 0.00 1.00 0.00 1.00 > >>> >>>> #13 3 2 1 0 0.33 0.00 0.00 1.00 > >>> >>>> #14 3 2 1 1 0.33 0.50 0.00 1.00 > >>> >>>> #15 3 2 1 2 0.33 1.00 0.00 2.00 > >>> >>>> #16 3 2 2 0 0.67 0.00 0.67 2.00 > >>> >>>> #17 3 2 2 1 0.67 0.50 1.34 2.00 > >>> >>>> #18 3 2 2 2 0.67 1.00 2.01 3.00 > >>> >>>> #19 3 2 3 0 1.00 0.00 3.01 3.00 > >>> >>>> #20 3 2 3 1 1.00 0.50 4.01 3.00 > >>> >>>> #21 3 2 3 2 1.00 1.00 5.01 4.00 > >>> >>>> #22 2 3 0 0 0.00 0.00 0.00 0.00 > >>> >>>> #23 2 3 0 1 0.00 0.33 0.00 0.00 > >>> >>>> #24 2 3 0 2 0.00 0.67 0.00 0.67 > >>> >>>> #25 2 3 0 3 0.00 1.00 0.00 1.67 > >>> >>>> #26 2 3 1 0 0.50 0.00 0.00 1.67 > >>> >>>> #27 2 3 1 1 0.50 0.33 0.00 1.67 > >>> >>>> #28 2 3 1 2 0.50 0.67 0.00 2.34 > >>> >>>> #29 2 3 1 3 0.50 1.00 0.00 3.34 > >>> >>>> #30 2 3 2 0 1.00 0.00 1.00 3.34 > >>> >>>> #31 2 3 2 1 1.00 0.33 2.00 3.34 > >>> >>>> #32 2 3 2 2 1.00 0.67 3.00 4.01 > >>> >>>> #33 2 3 2 3 1.00 1.00 4.00 5.01 > >>> >>>> A.K. > >>> >>>> > >>> >>>> ------------------------------ > >>> >>>> If you reply to this email, your message will be added to the > >>> discussion > >>> >>>> below: > >>> >>>> > >>> >>>> > >>> > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4657196.html > >>> >>>> To unsubscribe from cumulative sum by group and under some > criteria, > >>> click > >>> >>>> here< > >>> > >>> >>>> . > >>> >>>> NAML< > >>> > http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > > >>> > >>> >>>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>>-- > >>> >>>View this message in context: > >>> >>> > >>> > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4657315.html > >>> >>>Sent from the R help mailing list archive at Nabble.com. > >>> >>> [[alternative HTML version deleted]] > >>> >>> > >>> >>>______________________________________________ > >>> >>>[hidden email] < > http://user/SendEmail.jtp?type=node&node=4657773&i=18>mailing list > >> > >>> >>>https://stat.ethz.ch/mailman/listinfo/r-help > >>> >>>PLEASE do read the posting guide > >>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > <http://www.r-project.org/posting-guide.html> > >> > >>> >>>and provide commented, minimal, self-contained, reproducible code. > >>> >>> > >>> >>> > >>> >>>______________________________________________ > >>> >>>[hidden email] < > http://user/SendEmail.jtp?type=node&node=4657773&i=19>mailing list > >> > >>> >>>https://stat.ethz.ch/mailman/listinfo/r-help > >>> >>>PLEASE do read the posting guide > >>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > <http://www.r-project.org/posting-guide.html> > >> > >>> >>>and provide commented, minimal, self-contained, reproducible code. > >>> >>> > >>> >>></quote> > >>> >>>Quoted from: > >>> >>> > >>> > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4657360.html > >>> >>> > >>> >>> > >>> >>>______________________________________________ > >>> >>>[hidden email] < > http://user/SendEmail.jtp?type=node&node=4657773&i=20>mailing list > >> > >>> >>>https://stat.ethz.ch/mailman/listinfo/r-help > >>> >>>PLEASE do read the posting guide > >>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > <http://www.r-project.org/posting-guide.html> > >> > >>> >>>and provide commented, minimal, self-contained, reproducible code. > >>> >>> > >>> >>></quote> > >>> >>>Quoted from: > >>> >>> > >>> > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4657582.html > >>> >>> > >>> >>> > >>> >> > >>> > > >>> > >>> ______________________________________________ > >>> [hidden email] > >>> <http://user/SendEmail.jtp?type=node&node=4657773&i=21>mailing > list > >> > >>> https://stat.ethz.ch/mailman/listinfo/r-help > >>> PLEASE do read the posting guide > >>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > <http://www.r-project.org/posting-guide.html> > >> > >>> and provide commented, minimal, self-contained, reproducible code. > >>> > >>> > >> > >>> ------------------------------ > >>> If you reply to this email, your message will be added to the > >>> discussion below: > >>> > >> > >>> > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4657773.html > >>> To unsubscribe from cumulative sum by group and under some criteria, > click > >>> here< > > >> > >>> . > >>> NAML< > http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > > >>> > >> > >> > >> > >> > >>-- > >>View this message in context: > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4658133.html > >> > >>Sent from the R help mailing list archive at Nabble.com. > >> [[alternative HTML version deleted]] > >> > >>______________________________________________ > >>[hidden email] > >><http://user/SendEmail.jtp?type=node&node=4659078&i=8>mailing list > >> > >>https://stat.ethz.ch/mailman/listinfo/r-help > >>PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > >>and provide commented, minimal, self-contained, reproducible code. > >> > >> > > > > ______________________________________________ > [hidden email] <http://user/SendEmail.jtp?type=node&node=4659078&i=9>mailing > list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4659078.html > To unsubscribe from cumulative sum by group and under some criteria, click > here<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4657074&code=WmpvYW5uYTIwMTNAZ21haWwuY29tfDQ2NTcwNzR8LTE3NTE1MDA0MzY=> > . > NAML<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > -- View this message in context: http://r.789695.n4.nabble.com/cumulative-sum-by-group-and-under-some-criteria-tp4657074p4659096.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.