[R] cumulative sum by group and under some criteria

arun smartpink111 at yahoo.com
Mon Feb 25 15:03:50 CET 2013



res2<- do.call(rbind,lapply(lst1[lapply(lst1,nrow)!=0],function(x){x[,11:14]<-NA;x[,11:12][x$Qm<=c11 & x$x1>2,]<- cumsum(x[,9:10][x$Qm<=c11 & x$x1>2,]);
x[,13:14][x$Qn<=c12 & x$y1>2,]<-cumsum(x[,9:10][x$Qn<=c12 & x$y1>2,]);
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)
 tail(res2)
#   m1 n1 x1 y1  Fmm  Fnn    Qm    Qn     term1_p0 term1_p1 cterm1_P0L
#28  2  3  1  2 0.74 0.62 0.320 0.320 0.0006768750  0.03072          0
#29  2  3  1  3 0.68 1.00 0.320 0.000 0.0000118750  0.00256          0
#30  2  3  2  0 1.00 0.00 0.500 0.500 0.0021434375  0.02048          0
#31  2  3  2  1 1.00 0.63 0.185 0.185 0.0003384375  0.01536          0
#32  2  3  2  2 1.00 0.73 0.135 0.135 0.0000178125  0.00384          0
#33  2  3  2  3 1.00 1.00 0.000 0.000 0.0000003125  0.00032          0
#   cterm1_P1L   cterm1_P0H cterm1_P1H
#28          0 0.0001128125    0.00512
#29          0 0.0001246875    0.00768
#30          0 0.0001246875    0.00768
#31          0 0.0001246875    0.00768
#32          0 0.0001246875    0.00768
#33          0 0.0001250000    0.00800

A.K.


________________________________
From: Joanna Zhang <zjoanna2013 at gmail.com>
To: arun <smartpink111 at yahoo.com> 
Sent: Monday, February 25, 2013 8:14 AM
Subject: Re: [R] cumulative sum by group and under some criteria



c11<-0.5
c12<-0.5



On Mon, Feb 25, 2013 at 1:20 AM, arun <smartpink111 at yahoo.com> wrote:

Hello,
> head(d,2)
>
>#  m1 n1 x1 y1 Fmm  Fnn Qm   Qn  term1_p0 term1_p1
>#1  2  2  0  0   0 0.00  1 1.00 0.8145062   0.4096
>#2  2  2  0  1   0 0.64  1 0.36 0.0857375   0.2048
>
>
>Assuming that `x` and `y` are 'x1` and `y1`, where is 'c11` in the dataset?
>
>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}))
>Error in `[.data.frame`(x[, 9:10], x$Qm <= c11, ) :
>  object 'c11' not found
>
>
>
>A.K.
>
>
>
>
>----- Original Message -----
>
>From: Zjoanna <Zjoanna2013 at gmail.com>
>To: r-help at R-project.org
>Cc:
>Sent: Sunday, February 24, 2013 4:48 PM
>Subject: Re: [R] cumulative sum by group and under some criteria
>
>
>Thanks! Solved. I have another question.
>
>This is your code for calculated the cumulative sum. how to modify the code
>if I want to add another criterion for calculating the cumulative sum:
>x[,11:12][x$Qm<=c11,]<-cumsum(x[,9:10][x$Qm<=c11,]);   # cumsum if
>x$Qm<=c11 & x>2
>x[,13:14][x$Qn<=c12,]<-cumsum(x[,9:10][x$Qn<=c12,]);    #cumsum if x$Qn<=12
>& y>2
>
>
>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,]);   # cumsum if
>x$Qm<=c11 & x>2
>x[,13:14][x$Qn<=c12,]<-cumsum(x[,9:10][x$Qn<=c12,]);    #cumsum if x$Qn<=12
>& y>2
>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
>
>
>On Sat, Feb 23, 2013 at 10:56 PM, arun kirshna [via R] <
>ml-node+s789695n4659515h76 at n4.nabble.com> wrote:
>
>> Hi,
>> You can also use ?rowMins() or ?rowMaxs() from library(matrixStats)
>>
>>
>> library(plyr)
>> 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)})
>>
>> Pm2<-rbeta(1000, 0.2+res2$x, 0.8+res2$m-res2$x)
>> Pn2<-rbeta(1000, 0.2+res2$y, 0.8+res2$n-res2$y)
>> Fm2<- ecdf(Pm2)
>> Fn2<- ecdf(Pn2)
>> library(matrixStats)
>>  res3<- within(res2,{Fmm2<-Fm2(p1);Fnn2<- Fn2(p2);R2<-
>> (Fmm2+Fnn2)/2;Fmm_f2<-rowMins(cbind(R2,Fmm2));Fnn_f2<-rowMaxs(cbind(R2,Fnn2));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
>> 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
>> #6  2  2  0  0 4 4 1 2     0.9025       0.64     0.9025       0.64
>> 0.00524288
>> #      term2_p0   p2   p1   Qn2 Qm2 Fnn_f2 Fmm_f2     R2  Fnn2 Fmm2
>> #1 0.6634204313 0.00 0.00 1.000 1.0  0.000    0.0 0.0000 0.000  0.0
>> #2 0.0698337296 0.25 0.00 0.593 1.0  0.407    0.0 0.2035 0.407  0.0
>> #3 0.0018377297 0.50 0.00 0.302 1.0  0.698    0.0 0.3490 0.698  0.0
>> #4 0.0698337296 0.00 0.25 0.800 0.8  0.200    0.2 0.2000 0.000  0.4
>> #5 0.0073509189 0.25 0.25 0.593 0.6  0.407    0.4 0.4035 0.407  0.4
>> # 0.0001934452 0.50 0.25 0.302 0.6  0.698    0.4 0.5490 0.698  0.4
>>
>>
>>
>>
>>
>>
>> ________________________________
>> From: Joanna Zhang <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=0>>
>>
>> To: arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=1>>
>
>>
>> Sent: Saturday, February 23, 2013 5:35 PM
>> Subject: Re: [R] cumulative sum by group and under some criteria
>>
>>
>> the row wise min or max of R2, Rmm2 , for example, for the first row,
>> suppose R2 = 0.63 and Fmm2 = 0.56, then Fmm_f2 = 0.63.
>>
>> means draw 1000 samples for each row from a beta distribution.
>>
>>
>> On Sat, Feb 23, 2013 at 3:49 PM, arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=2>>
>
>> wrote:
>>
>> Hi,
>>
>> >
>> >I have a doubt:
>> >When you say that min(R2,Fmm2) or max(R2,Fnn2), do you mean the
>> corresponding row wise min or max. for these two columns or the maximum
>> from the entire two columns.
>> >
>> >Also, why do you need rbeta(1000,...), should it be rbeta(240,..) because
>> if you use the former the nrow from res2 is around 240 and in the formula,
>> you are also using x, m , from res2, which makes no sense to me.
>> >Arun
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >________________________________
>> >From: Joanna Zhang <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=3>>
>>
>> >To: arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=4>>
>
>>
>> >Sent: Saturday, February 23, 2013 4:12 PM
>> >
>> >Subject: Re: [R] cumulative sum by group and under some criteria
>> >
>> >
>> >sorry, these are
>> >p0L<-0.05
>> >p0H<-0.05
>> >p1L<-0.20
>> >p1H<-0.20
>> >
>> >
>> >
>> >On Sat, Feb 23, 2013 at 2:48 PM, arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=5>>
>
>> wrote:
>> >
>> >Hi,
>> >>
>> >>If you give only half the information, it will be difficult to solve.
>> >>
>> >>
>> >>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")
>> >>
>> >>
>> >>
>> >>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)
>> >>
>> >> identical(d2,res1)
>> >>#[1] TRUE
>> >>
>> >>library(plyr)
>> >>res2<- join(res1,d3,by=c("m1","n1"),type="inner")
>> >>res2$p1<- x/m
>> >> res2$p2<- y/n
>> >>
>> >>
>> >>
>> >>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)
>> >>#Error in dbinom(x1, m1, p0L, log = FALSE) : object 'p0L' not found
>> >>A.K.
>> >>
>> >>
>> >>
>> >>________________________________
>> >>
>> >>From: Joanna Zhang <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=6>>
>>
>> >>To: arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=7>>
>
>>
>> >>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=4659515&i=8>>
>
>> 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=4659515&i=9>>
>>
>> >>>To: arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=10>>
>
>>
>> >>>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=4659515&i=11>>
>
>> 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=4659515&i=12>>
>>
>> >>>>To: arun <[hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=13>>
>
>>
>> >>>>
>>  >>>>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=4659515&i=14>>
>>
>> >>>>>To: [hidden email]<http://user/SendEmail.jtp?type=node&node=4659515&i=15>
>
>> >>>>>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=4659515&i=16>>
>
>> 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=4659515&i=17>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=4659515&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>
>> 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-tp4657074p4659515.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-tp4657074p4659547.html
>
>Sent from the R help mailing list archive at Nabble.com.
>    [[alternative HTML version deleted]]
>
>______________________________________________
>R-help at r-project.org mailing list
>
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
>
>



More information about the R-help mailing list