Skip to content
Prev 318612 / 398506 Next

cumulative sum by group and under some criteria

HI,
d

#?? m1 n1 x1 y1???? term1_p0???? term1_p1
#1?? 3? 2? 0? 0 0.7737809375 0.2373046875
#2?? 3? 2? 0? 1 0.0814506250 0.1582031250
#3?? 3? 2? 0? 2 0.0021434375 0.0263671875
#4?? 3? 2? 1? 0 0.1221759375 0.2373046875
#5?? 3? 2? 1? 1 0.0128606250 0.1582031250
#6?? 3? 2? 1? 2 0.0003384375 0.0263671875
#7?? 3? 2? 2? 0 0.0064303125 0.0791015625
#8?? 3? 2? 2? 1 0.0006768750 0.0527343750
#9?? 3? 2? 2? 2 0.0000178125 0.0087890625
#10? 3? 2? 3? 0 0.0001128125 0.0087890625
#11? 3? 2? 3? 1 0.0000118750 0.0058593750
#12? 3? 2? 3? 2 0.0000003125 0.0009765625

d2
#?? m1 n1 x1 y1???? term1_p0???? term1_p1???? Qm???? Qn
#1?? 3? 2? 0? 0 0.7737809375 0.2373046875 0.0500 0.0810
#2?? 3? 2? 0? 1 0.0814506250 0.1582031250 0.0560 0.6690
#3?? 3? 2? 0? 2 0.0021434375 0.0263671875 0.0410 0.9680
#4?? 3? 2? 1? 0 0.1221759375 0.2373046875 0.3150 0.3150
#5?? 3? 2? 1? 1 0.0128606250 0.1582031250 0.5200 0.6580
#6?? 3? 2? 1? 2 0.0003384375 0.0263671875 0.5360 0.9640
#7?? 3? 2? 2? 0 0.0064303125 0.0791015625 0.4945 0.4945
#8?? 3? 2? 2? 1 0.0006768750 0.0527343750 0.7815 0.7815
#9?? 3? 2? 2? 2 0.0000178125 0.0087890625 0.9030 0.9650
#10? 3? 2? 3? 0 0.0001128125 0.0087890625 0.5350 0.5350
#11? 3? 2? 3? 1 0.0000118750 0.0058593750 0.8195 0.8195
#12? 3? 2? 3? 2 0.0000003125 0.0009765625 0.9835 0.9835

?lst1<- split(d2,list(d2$m1,d2$n1)) 
d3<- do.call(rbind,lapply(lst1[lapply(lst1,nrow)!=0],function(x){ 
x[,9:14]<-NA; 
x[,9:10][x$Qm<=c11,]<-cumsum(x[,5:6][x$Qm<=c11,]); 
x[,11:12][x$Qn<=c12,]<-cumsum(x[,5:6][x$Qn<=c12,]);
x[,13:14]<-cumsum(x[,5:6]); 
colnames(x)[9:14]<- c("cterm1_P0L","cterm1_P1L","cterm1_P0H","cterm1_P1H","sumTerm1_p0","sumTerm1_p1"); 
x1<-na.locf(x); 
x1[,9:14][is.na(x1[,9:14])]<-0; 
x1}
))
?row.names(d3)<-1:nrow(d3) 

res1<-aggregate(.~m1+n1,data=d3[,c(1:2,9:12)],max)
res1
# m1 n1 cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H
#1? 3? 2? 0.9795509? 0.6591797? 0.8959569? 0.4746094
?d3New<- res1[res1[,4]<=0.60 & res1[,6]<0.40,] 
d3New
#[1] m1???????? n1???????? cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H? # zero 0 rows
#<0 rows> (or 0-length row.names)
?library(plyr)
?d4<-join(d3New,d,by=c("m1","n1"),type="inner")
?d4
# [1] m1???????? n1???????? cterm1_P0L cterm1_P1L cterm1_P0H cterm1_P1H #zero 0 rows
# [7] x1???????? y1???????? term1_p0?? term1_p1? 
#<0 rows> (or 0-length row.names)

do.call(rbind,lapply(unique(d4$m1),function(m1) 
?do.call(rbind,lapply(unique(d4$n1),function(n1)
?do.call(rbind,lapply(unique(d4$x1),function(x1)
?do.call(rbind,lapply(unique(d4$y1),function(y1)
? 
?#do.call(rbind,lapply(0:m1,function(x1) 
?#do.call(rbind,lapply(0:n1,function(y1) 
?do.call(rbind,lapply((m1+2):(maxN-2-n1),function(m) 
?do.call(rbind,lapply((n1+2):(maxN-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)) )))))))))))))))
#NULL




A.K.
Message-ID: <1362260296.12947.YahooMailNeo@web142602.mail.bf1.yahoo.com>
In-Reply-To: <CACexUkvdiQe=25Ke-zDws_cCKV04ZAFh3YDV2vSAwRDYMYFhWg@mail.gmail.com>