res2<- join(res1,d3,by=c("m1","n1"),type="inner") p0L<-0.05 p0H<-0.05 p1L<-0.20 p1H<-0.20 res2<- within(res2,{p1<- x/m; p2<- y/n;term2_p0<-dbinom(x1,m1, p0L, log=FALSE)* dbinom(y1,n1,p0H, log=FALSE)*dbinom(x-x1,m-m1, p0L, log=FALSE)* dbinom(y-y1,n-n1,p0H, log=FALSE);term2_p1<- dbinom(x1,m1, p1L, log=FALSE)* dbinom(y1,n1,p1H, log=FALSE)*dbinom(x-x1,m-m1, p1L, log=FALSE)* dbinom(y-y1,n-n1,p1H, log=FALSE)})
res4<-do.call(rbind,lapply(seq_len(nrow(res2)),function(i) {Pm2<-rbeta(1000,0.2+res2[i,"x"],0.8+res2[i,"m"]-res2[i,"x"]);Pn2<- rbeta(1000,0.2+res2[i,"y"],0.8+res2[i,"n"]-res2[i,"y"]); Fm2<- ecdf(Pm2); Fn2<- ecdf(Pn2); Fmm2<- Fm2(res2[i,"p1"]); Fnn2<- Fn2(res2[i,"p2"]);R2<- (Fmm2+Fnn2)/2; Fmm_f2<- min(R2, Fmm2); Fnn_f2<- max(R2, Fnn2); Qm2<- 1-Fmm_f2; Qn2<- 1-Fnn_f2;data.frame(Fmm2,Fnn2,R2,Fmm_f2,Fnn_f2,Qm2,Qn2)})) res5<-cbind(res2,res4) head(res5,5) # m1 n1 x1 y1 m n x y cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H term2_p1 #1 2 2 0 0 4 4 0 0 0.9025 0.64 0.9025 0.64 0.16777216 #2 2 2 0 0 4 4 0 1 0.9025 0.64 0.9025 0.64 0.08388608 #3 2 2 0 0 4 4 0 2 0.9025 0.64 0.9025 0.64 0.01048576 #4 2 2 0 0 4 4 1 0 0.9025 0.64 0.9025 0.64 0.08388608 #5 2 2 0 0 4 4 1 1 0.9025 0.64 0.9025 0.64 0.04194304 # term2_p0 p2 p1 Fmm2 Fnn2 R2 Fmm_f2 Fnn_f2 Qm2 Qn2 #1 0.663420431 0.00 0.00 0.00 0.000 0.0000 0.000 0.000 1.000 1.000 #2 0.069833730 0.25 0.00 0.00 0.601 0.3005 0.000 0.601 1.000 0.399 #3 0.001837730 0.50 0.00 0.00 0.612 0.3060 0.000 0.612 1.000 0.388 #4 0.069833730 0.00 0.25 0.59 0.000 0.2950 0.295 0.295 0.705 0.705 #5 0.007350919 0.25 0.25 0.60 0.566 0.5830 0.583 0.583 0.417 0.417 A.K. ________________________________ From: Joanna Zhang <zjoanna2...@gmail.com> To: arun <smartpink...@yahoo.com> Sent: Tuesday, February 26, 2013 11:32 PM Subject: Re: [R] cumulative sum by group and under some criteria ok. 1) for each row in the data, I want to simulate a sample of 1000 observations(Pm2) for the combination of x, m and another sample of 1000 observations(Pn2) for the combination of y, n and 2) get the cumulative distribution of these two samples Fm, Fn, respectively and 3) calculate the percentage of obs )that are less than the x/m (Fmm2<-Fm2(x/m)and percentage of obs that are less than the y/n (Fnn2<-Fn2(y/n) 4) I just want to keep Fmm2 and Fnn2 for each row in the final data Thanks very much for your help. for example, if I simulate a sample of 10 instead of 1000: > Pm2<-rbeta(10, 0.2+1, 0.8+3) #x=1, m=4 > Pn2<-rbeta(10, 0.2, 0.8+4) #y=0, n=4 > Pm2 [1] 0.19567380 0.10242121 0.21295666 0.23824629 0.52519487 0.10825192 0.49724191 0.02098218 0.04740662 0.26410004 > Pn2 [1] 6.857148e-05 1.631983e-01 1.340303e-08 1.309932e-01 2.944966e-03 1.133654e-01 9.623050e-02 4.091554e-01 1.103247e-01 5.657689e-04 > > Fm2<- ecdf(Pm2) > Fn2<- ecdf(Pn2) > > Fmm2<-Fm2(1/4) > Fnn2<-Fn2(0) > Fmm2 [1] 0.7 # this is the percentage of observation that <= 1/4, I want to keep this vaule for each row > Fnn2 [1] 0 # this is the percentage of observation that <= 0 , I want to keep this value for each row > On Tue, Feb 26, 2013 at 10:01 PM, arun <smartpink...@yahoo.com> wrote: The values of 'x' an 'm' from res2. For more information, you can check ?rbeta. >I also don't get what you are up to. >If you want to create 1000 random samples for each combinations of x, m > >lapply(lapply(unique(apply(cbind(res2$x,res2$m),1,paste,collapse="")),function(i) > as.numeric(unlist(strsplit(i,"")))),function(x) >rbeta(1000,0.2+x[1],0.8+x[2]-x[1])) > >A.K. > > > > > > >________________________________ > >From: Joanna Zhang <zjoanna2...@gmail.com> >To: arun <smartpink...@yahoo.com> >Sent: Tuesday, February 26, 2013 10:37 PM > >Subject: Re: [R] cumulative sum by group and under some criteria > > >I don't get it What values of x and m are used here? I thought it should >create 1000 random samples from the beta distribution for each combination of >x,m in the data and this is what I wanted. > > >In the code, it is creating 1000 values in total from the combination of >values from x, m, > Pm2<-rbeta(1000, 0.2+res2$x, 0.8+res2$m-res2$x) > length(Pm2) >#[1] 1000 > >On Tue, Feb 26, 2013 at 8:56 PM, arun <smartpink...@yahoo.com> wrote: > >?? >> >> >> >>________________________________ >> From: Joanna Zhang <zjoanna2...@gmail.com> >>To: arun <smartpink...@yahoo.com> >>Sent: Tuesday, February 26, 2013 9:51 PM >> >>Subject: Re: [R] cumulative sum by group and under some criteria >> >> >> >>Hi, >> >># >>Pm2<-rbeta(1000, 0.2+1, 0.8+3) #obs4 >>this is for x=1, m=2 >> >> length(Pm2) >>>#[1] 1000 >>> >>> >>>Pn2<-rbeta(1000, 0.2, 0.8+4) >>> length(Pn2) >>>#[1] 1000 >>>Here, you are creating Pm2 or Pn2 from a single observation. >>> >>>In the code, it is creating 1000 values in total from the combination of >>>values from x, m, >>> Pm2<-rbeta(1000, 0.2+res2$x, 0.8+res2$m-res2$x) >>> length(Pm2) >>>#[1] 1000 >>> >>>I don't get it here. What values of x and m are used here? I thought it >>>should create 1000 observations for each combination of x,m in the data and >>>this is what I want. >>> >> >>A.K. >>> >>> >>> >>>----- Original Message ----- >>> >>>From: Zjoanna <zjoanna2...@gmail.com> >>>To: r-help@r-project.org >>>Cc: >>> >>>Sent: Tuesday, February 26, 2013 3:13 PM >>>Subject: Re: [R] cumulative sum by group and under some criteria >>> >>> >>>Hi Arun >>> >>>I noticed that the values of Fmm, Fnn, and other corresponding variables >>>are not correct, for example, for the 4th obs after you run this code, the >>>Fmm is 0.40, but if you use the x, m, y, n in the 4th row to calculate >>>them, the results are not consistent, same for the 5th obs. >>> >>>#check >>># >>>Pm2<-rbeta(1000, 0.2+1, 0.8+3) #obs4 >>>Pn2<-rbeta(1000, 0.2, 0.8+4) >>>Fm2<- ecdf(Pm2) >>>Fn2<- ecdf(Pn2) >>>Fmm2<-Fm2(1/4) >>>Fnn2<-Fn2(0) >>>Fmm2 #0.582 >>>Fnn2 #0 >>> >>> >>>Pm2<-rbeta(1000, 0.2+1, 0.8+3) #obs5 >>>Pn2<-rbeta(1000, 0.2+1, 0.8+3) >>>Fm2<- ecdf(Pm2) >>>Fn2<- ecdf(Pn2) >>>Fmm2<-Fm2(1/4) >>>Fnn2<-Fn2(1/4) >>>Fmm2 #0.404 >>>Fnn2 #0.416 >>> >>> >>> >>>On Sat, Feb 23, 2013 at 10:53 PM, arun kirshna [via R] < >>>ml-node+s789695n4659514...@n4.nabble.com> wrote: >>> >>>> Hi, >>>> 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") >>>> d2<- data.frame() >>>> for (m1 in 2:3) { >>>> for (n1 in 2:3) { >>>> 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)){ >>>> for(y in y1:(y1+n-n1)){ >>>> d2<- rbind(d2,c(m1,n1,x1,y1,m,n,x,y)) >>>> }}}}}}}} >>>> colnames(d2)<-c("m1","n1","x1","y1","m","n","x","y") >>>> #or >>>> >>>> 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[]<- sapply(res1,as.integer) >>>> >>>> library(plyr) >>>> res2<- join(res1,d3,by=c("m1","n1"),type="inner") >>>> >>>> #Assuming that these are the values you used: >>>> >>>> p0L<-0.05 >>>> p0H<-0.05 >>>> p1L<-0.20 >>>> p1H<-0.20 >>>> res2<- within(res2,{p1<- x/m; p2<- y/n;term2_p0<-dbinom(x1,m1, p0L, >>>> log=FALSE)* dbinom(y1,n1,p0H, log=FALSE)*dbinom(x-x1,m-m1, p0L, log=FALSE)* >>>> dbinom(y-y1,n-n1,p0H, log=FALSE);term2_p1<- dbinom(x1,m1, p1L, log=FALSE)* >>>> dbinom(y1,n1,p1H, log=FALSE)*dbinom(x-x1,m-m1, p1L, log=FALSE)* >>>> dbinom(y-y1,n-n1,p1H, log=FALSE);Pm2<-rbeta(240, 0.2+x, >>>> 0.8+m-x);Pn2<-rbeta(240, 0.2+y, 0.8+n-y)}) >>>> Fm2<- ecdf(res2$Pm2) >>>> Fn2<- ecdf(res2$Pn2) >>>> >>>> res3<- within(res2,{Fmm2<-Fm2(p1);Fnn2<- Fn2(p2);R2<- (Fmm2+Fnn2)/2}) #not >>>> sure about this step especially the Fm2() or Fn2() >>>> res3$Fmm_f2<-apply(res3[,c("R2","Fmm2")],1,min) >>>> res3$Fnn_f2<-apply(res3[,c("R2","Fnn2")],1,max) >>>> res3<- within(res3,{Qm2<- 1-Fmm_f2;Qn2<- 1-Fnn_f2}) >>>> head(res3) >>>> # m1 n1 x1 y1 m n x y cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H >>>> Pn2 >>>> #1 2 2 0 0 4 4 0 0 0.9025 0.64 0.9025 0.64 >>>> 0.001084648 >>>> #2 2 2 0 0 4 4 0 1 0.9025 0.64 0.9025 0.64 >>>> 0.504593909 >>>> #3 2 2 0 0 4 4 0 2 0.9025 0.64 0.9025 0.64 >>>> 0.541379357 >>>> #4 2 2 0 0 4 4 1 0 0.9025 0.64 0.9025 0.64 >>>> 0.138947785 >>>> #5 2 2 0 0 4 4 1 1 0.9025 0.64 0.9025 0.64 >>>> 0.272364957 >>>> #6 2 2 0 0 4 4 1 2 0.9025 0.64 0.9025 0.64 >>>> 0.761635059 >>>> # Pm2 term2_p1 term2_p0 p2 p1 R2 Fnn2 Fmm2 >>>> #1 1.212348e-05 0.16777216 0.6634204313 0.00 0.00 0.0000000 0.0000000 0.0 >>>> #2 1.007697e-03 0.08388608 0.0698337296 0.25 0.00 0.1791667 0.3583333 0.0 >>>> #3 1.106946e-05 0.01048576 0.0018377297 0.50 0.00 0.3479167 0.6958333 0.0 >>>> # 2.086758e-01 0.08388608 0.0698337296 0.00 0.25 0.2000000 0.0000000 0.4 >>>> #5 2.382179e-01 0.04194304 0.0073509189 0.25 0.25 0.3791667 0.3583333 0.4 >>>> #6 4.494673e-01 0.00524288 0.0001934452 0.50 0.25 0.5479167 0.6958333 0.4 >>>> # Fmm_f2 Fnn_f2 Qn2 Qm2 >>>> #1 0.0000000 0.0000000 1.0000000 1.0000000 >>>> #2 0.0000000 0.3583333 0.6416667 1.0000000 >>>> #3 0.0000000 0.6958333 0.3041667 1.0000000 >>>> #4 0.2000000 0.2000000 0.8000000 0.8000000 >>>> #5 0.3791667 0.3791667 0.6208333 0.6208333 >>>> #6 0.4000000 0.6958333 0.3041667 0.6000000 >>>> >>>> >>>> A.K. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> ________________________________ >>>> From: Joanna Zhang <[hidden >>>> email]<http://user/SendEmail.jtp?type=node&node=4659514&i=0>> >>>> >>>> To: arun <[hidden >>>> email]<http://user/SendEmail.jtp?type=node&node=4659514&i=1>> >>> >>>> >>>> Sent: Friday, February 22, 2013 11:02 AM >>>> Subject: Re: [R] cumulative sum by group and under some criteria >>>> >>>> >>>> Thanks! Then I need to create new variables based on the res2. I can't >>>> find Fmm_f1, Fnn_f2, R2, Qm2, Qn2 until running the code several times and >>>> the values of Fnn_f2, Fmm_f2 are correct. >>>> >>>> attach(res2) >>>> res2$p1<-x/m >>>> res2$p2<-y/n >>>> res2$term2_p0 <- dbinom(x1,m1, p0L, log=FALSE)* dbinom(y1,n1,p0H, >>>> log=FALSE)*dbinom(x-x1,m-m1, p0L, log=FALSE)* dbinom(y-y1,n-n1,p0H, >>>> log=FALSE) >>>> res2$term2_p1 <- dbinom(x1,m1, p1L, log=FALSE)* dbinom(y1,n1,p1H, >>>> log=FALSE)*dbinom(x-x1,m-m1, p1L, log=FALSE)* dbinom(y-y1,n-n1,p1H, >>>> log=FALSE) >>>> Pm2<-rbeta(1000, 0.2+x, 0.8+m-x) >>>> Fm2<-ecdf(Pm2) >>>> res2$Fmm2<-Fm2(x/m) #not correct, it comes out after running code two >>>> times >>>> Pn2<-rbeta(1000, 0.2+y, 0.8+n-y) >>>> Fn2<-ecdf(Pn2) >>>> res2$Fnn2<-Fn2(y/n) >>>> res2$R2<-(Fmm2+Fnn2)/2 >>>> res2$Fmm_f2<-min(R2,Fmm2) # not correct >>>> res2$Fnn_f2<-max(R2,Fnn2) >>>> res2$Qm2<-(1-Fmm_f2) >>>> res2$Qn2<-(1-Fnn_f2) >>>> detach(res2) >>>> res2 >>>> head(res2) >>>> >>>> >>>> >>>> On Tue, Feb 19, 2013 at 4:09 PM, arun <[hidden >>>> email]<http://user/SendEmail.jtp?type=node&node=4659514&i=2>> >>> >>>> wrote: >>>> >>>> Hi, >>>> >>>> > >>>> >""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)"" >>>> > >>>> > >>>> >Try: >>>> > >>>> > >>>> > d<-read.table(text=" >>>> > >>>> >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 >>>> >",sep="",header=TRUE) >>>> > >>>> >vec1<- paste(d[,1],d[,2],d[,3],d[,4],d[,5],d[,6]) >>>> >res1<- do.call(rbind,lapply(vec1,function(m1) >>>> do.call(rbind,lapply(0:(as.numeric(substr(m1,1,1))),function(x1) >>>> do.call(rbind,lapply(0:(as.numeric(substr(m1,3,3))),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("group","x1","y1","m","n","x","y") >>>> >>>> > res1$m1<- NA; res1$n1<- NA; res1$A<- NA; res1$B<- NA; res1$C<- NA;res1$D >>>> <- NA >>>> >res1[,8:13]<-do.call(rbind,lapply(strsplit(as.character(res1$group)," >>>> "),as.numeric)) >>>> >res2<- res1[,c(8:9,2:7,10:13)] >>>> > >>>> > >>>> > head(res2) >>>> ># m1 n1 x1 y1 m n x y A B C D >>>> >#1 2 2 0 0 4 4 0 0 0.9025 0.64 0.9025 0.64 >>>> >#2 2 2 0 0 4 4 0 1 0.9025 0.64 0.9025 0.64 >>>> >#3 2 2 0 0 4 4 0 2 0.9025 0.64 0.9025 0.64 >>>> >#4 2 2 0 0 4 4 1 0 0.9025 0.64 0.9025 0.64 >>>> >#5 2 2 0 0 4 4 1 1 0.9025 0.64 0.9025 0.64 >>>> >#6 2 2 0 0 4 4 1 2 0.9025 0.64 0.9025 0.64 >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> >________________________________ >>>> >From: Joanna Zhang <[hidden >>>> >email]<http://user/SendEmail.jtp?type=node&node=4659514&i=3>> >>>> >>>> >To: arun <[hidden >>>> >email]<http://user/SendEmail.jtp?type=node&node=4659514&i=4>> >>> >>>> >>>> >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=4659514&i=5>> >>> >>>> 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=4659514&i=6>> >>>> >>>> >>To: arun <[hidden >>>> >>email]<http://user/SendEmail.jtp?type=node&node=4659514&i=7>> >>> >>>> >>>> >> >>>> >>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=4659514&i=8>> >>>> >>>> >>>To: [hidden email]<http://user/SendEmail.jtp?type=node&node=4659514&i=9> >>> >>>> >>>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=4659514&i=10>> >>> >>>> 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=4659514&i=11>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=4659514&i=12>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-tp4657074p4659514.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-tp4657074p4659717.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.