Thanks. I tried this code below, why does expanded dataset 'res1' has m1=3 and n1=3 , dataset 'd3' doesn't have m1=3, n1=3.
d3<-structure(list(m1 = c(2, 3, 2), n1 = c(2, 2, 3), cterm1_P0L = c(0.9025, 0.857375, 0.9025), cterm1_P1L = c(0.64, 0.512, 0.64), cterm1_P0H = c(0.9025, 0.9025, 0.857375), cterm1_P1H = c(0.64, 0.64, 0.512)), .Names = c("m1", "n1", "cterm1_P0L", "cterm1_P1L", "cterm1_P0H", "cterm1_P1H"), row.names = c(NA, 3L), class = "data.frame") d3 res1<-do.call(rbind,lapply(unique(d3$m1),function(m1) do.call(rbind,lapply(unique(d3$n1),function(n1) do.call(rbind,lapply(0:(m1-1),function(x1) do.call(rbind,lapply(0:(n1-1),function(y1) do.call(rbind,lapply((m1+2):(7-n1),function(m) do.call(rbind,lapply((n1+2):(9-m),function(n) do.call(rbind,lapply(x1:(x1+m-m1), function(x) do.call(rbind,lapply(y1:(y1+n-n1), function(y) expand.grid(m1,n1,x1,y1,m,n,x,y)) ))))))))))))))) names(res1)<- c("m1","n1","x1","y1","m","n","x","y") attr(res1,"out.attrs")<-NULL res1 library(plyr) res2<- join(res1,d3,by=c("m1","n1"),type="full") res2 On Sun, Feb 17, 2013 at 11:10 PM, arun kirshna [via R] < ml-node+s789695n4658895...@n4.nabble.com> wrote: > Hi, > > > "Yes, I wanted to expand directly from d. If there are other variables, > says "A", "B", "C" that I need to keep in the final expanded data, how > to modify the code?" > > d<-data.frame() > for (m1 in 2:3) { > for (n1 in 2:2) { > for (x1 in 0:(m1-1)) { > for (y1 in 0:(n1-1)) { > d<-rbind(d,c(m1,n1,x1,y1)) > } > } > }} > colnames(d)<-c("m1","n1","x1","y1") > d > res1<-do.call(rbind,lapply(unique(d$m1),function(m1) > do.call(rbind,lapply(unique(d$n1),function(n1) > do.call(rbind,lapply(0:(m1-1),function(x1) > do.call(rbind,lapply(0:(n1-1),function(y1) > do.call(rbind,lapply((m1+2):(7-n1),function(m) > do.call(rbind,lapply((n1+2):(9-m),function(n) > do.call(rbind,lapply(x1:(x1+m-m1), function(x) > expand.grid(m1,n1,x1,y1,m,n,x)) ))))))))))))) > names(res1)<- c("m1","n1","x1","y1","m","n","x") > > set.seed(235) > d$A<- sample(1:50,10,replace=TRUE) > set.seed(23) > d$B<- sample(1:50,10,replace=TRUE) > > d > # m1 n1 x1 y1 A B > #1 2 2 0 0 50 29 > #2 2 2 0 1 40 12 > #3 2 2 1 0 31 17 > #4 2 2 1 1 7 36 > #5 3 2 0 0 13 41 > #6 3 2 0 1 27 22 > #7 3 2 1 0 49 49 > #8 3 2 1 1 47 49 > #9 3 2 2 0 23 43 > #10 3 2 2 1 4 50 > library(plyr) > res2<- join(res1,d,by=c("m1","n1","x1","y1"),type="full") > res2 > # m1 n1 x1 y1 m n x A B > #1 2 2 0 0 4 4 0 50 29 > #2 2 2 0 0 4 4 1 50 29 > #3 2 2 0 0 4 4 2 50 29 > #4 2 2 0 0 4 5 0 50 29 > #5 2 2 0 0 4 5 1 50 29 > #6 2 2 0 0 4 5 2 50 29 > #7 2 2 0 0 5 4 0 50 29 > #8 2 2 0 0 5 4 1 50 29 > #9 2 2 0 0 5 4 2 50 29 > #10 2 2 0 0 5 4 3 50 29 > #11 2 2 0 1 4 4 0 40 12 > #12 2 2 0 1 4 4 1 40 12 > #13 2 2 0 1 4 4 2 40 12 > #14 2 2 0 1 4 5 0 40 12 > #15 2 2 0 1 4 5 1 40 12 > #16 2 2 0 1 4 5 2 40 12 > #17 2 2 0 1 5 4 0 40 12 > #18 2 2 0 1 5 4 1 40 12 > #19 2 2 0 1 5 4 2 40 12 > #20 2 2 0 1 5 4 3 40 12 > #21 2 2 1 0 4 4 1 31 17 > #22 2 2 1 0 4 4 2 31 17 > #23 2 2 1 0 4 4 3 31 17 > #24 2 2 1 0 4 5 1 31 17 > #25 2 2 1 0 4 5 2 31 17 > #26 2 2 1 0 4 5 3 31 17 > #27 2 2 1 0 5 4 1 31 17 > #28 2 2 1 0 5 4 2 31 17 > #29 2 2 1 0 5 4 3 31 17 > #30 2 2 1 0 5 4 4 31 17 > #31 2 2 1 1 4 4 1 7 36 > #32 2 2 1 1 4 4 2 7 36 > #33 2 2 1 1 4 4 3 7 36 > #34 2 2 1 1 4 5 1 7 36 > #35 2 2 1 1 4 5 2 7 36 > #36 2 2 1 1 4 5 3 7 36 > #37 2 2 1 1 5 4 1 7 36 > #38 2 2 1 1 5 4 2 7 36 > #39 2 2 1 1 5 4 3 7 36 > #40 2 2 1 1 5 4 4 7 36 > #41 3 2 0 0 5 4 0 13 41 > #42 3 2 0 0 5 4 1 13 41 > #43 3 2 0 0 5 4 2 13 41 > #44 3 2 0 1 5 4 0 27 22 > #45 3 2 0 1 5 4 1 27 22 > #46 3 2 0 1 5 4 2 27 22 > #47 3 2 1 0 5 4 1 49 49 > #48 3 2 1 0 5 4 2 49 49 > #49 3 2 1 0 5 4 3 49 49 > #50 3 2 1 1 5 4 1 47 49 > #51 3 2 1 1 5 4 2 47 49 > #52 3 2 1 1 5 4 3 47 49 > #53 3 2 2 0 5 4 2 23 43 > #54 3 2 2 0 5 4 3 23 43 > #55 3 2 2 0 5 4 4 23 43 > #56 3 2 2 1 5 4 2 4 50 > #57 3 2 2 1 5 4 3 4 50 > #58 3 2 2 1 5 4 4 4 50 > A.K. > > > > > > > > > ----- Original Message ----- > From: arun <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=0>> > > To: Joanna Zhang <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=1>> > > Cc: R help <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=2>> > > Sent: Saturday, February 16, 2013 11:49 PM > Subject: Re: [R] cumulative sum by group and under some criteria > > > > d2<- data.frame() > for (m1 in 2:3) { > for (n1 in 2:2) { > for (x1 in 0:(m1-1)) { > for (y1 in 0:(n1-1)) { > for (m in (m1+2): (7-n1)){ > for (n in (n1+2):(9-m)){ > for (x in x1:(x1+m-m1)){ > d2<- rbind(d2,c(m1,n1,x1,y1,m,n,x)) > }}}}}}} > colnames(d2)<-c("m1","n1","x1","y1","m","n","x") > > res<-do.call(rbind,lapply(2:3,function(m1) > do.call(rbind,lapply(2:2,function(n1) > do.call(rbind,lapply(0:(m1-1),function(x1) > do.call(rbind,lapply(0:(n1-1),function(y1) > do.call(rbind,lapply((m1+2):(7-n1),function(m) > do.call(rbind,lapply((n1+2):(9-m),function(n) > do.call(rbind,lapply(x1:(x1+m-m1), function(x) > expand.grid(m1,n1,x1,y1,m,n,x)) ))))))))))))) > names(res)<- c("m1","n1","x1","y1","m","n","x") > attr(res,"out.attrs")<-NULL > identical(d2,res) > #[1] TRUE > A.K. > > ________________________________ > From: Joanna Zhang <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=3>> > > To: arun <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=4>> > > Sent: Saturday, February 16, 2013 8:46 PM > Subject: Re: [R] cumulative sum by group and under some criteria > > > Hi, > What I need is to expand each row by adding several columns and . Let me > restate the question. I have a dataset d, I want to expand it to d2 showed > below. > d<-data.frame() > for (m1 in 2:3) { > for (n1 in 2:2) { > for (x1 in 0:(m1-1)) { > for (y1 in 0:(n1-1)) { > d<-rbind(d,c(m1,n1,x1,y1)) > } > } > }} > colnames(d)<-c("m1","n1","x1","y1") > d > > m1 n1 x1 y1 > 1 2 2 0 0 > 2 2 2 0 1 > 3 2 2 1 0 > 4 2 2 1 1 > 5 3 2 0 0 > 6 3 2 0 1 > 7 3 2 1 0 > 8 3 2 1 1 > 9 3 2 2 0 > 10 3 2 2 1 > I want to expand it as follows: > for (m in (m1+2): (7-n1){ > for (n in (n1+2):(9-m){ > for (x in x1:(x1+m-m1){ > }}} > so for the first row, > m1 n1 x1 y1 > 1 2 2 0 0 > it should be expanded as > m1 n1 x1 y1 m n x > 2 2 0 0 4 4 0 > 2 2 0 0 4 4 1 > 2 2 0 0 4 4 2 > 2 2 0 0 4 5 0 > 2 2 0 0 4 5 1 > 2 2 0 0 4 5 2 > > On Tue, Feb 12, 2013 at 8:19 PM, arun <[hidden > email]<http://user/SendEmail.jtp?type=node&node=4658895&i=5>> > wrote: > > Hi, > > > > >Saw your reply again in Nabble. I thought I sent you the solution > previously. > > > > > >res3new<- aggregate(.~m1+n1,data=res2[,c(1:2,12:13)],max) > > > > d2<-res3new[res3new[,3]<0.01 & res3new[,4]<0.01,] > > > > > >m1<- 3 #from d2 > >maxN<- 9 > >n1<- 2 #from d2 > > > >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=4658895&i=6>> > > >To: [hidden email] <http://user/SendEmail.jtp?type=node&node=4658895&i=7> > >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=4658895&i=8>> > 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=4658895&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. > > > > > > > ______________________________________________ > [hidden email] <http://user/SendEmail.jtp?type=node&node=4658895&i=10>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-tp4657074p4658895.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-tp4657074p4659018.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.