Skip to content
Prev 317729 / 398506 Next

cumulative sum by group and under some criteria

d2<- data.frame()
for (m1 in 2:3) {
??? for (n1 in 2:2) {
??????? for (x1 in 0:(m1-1)) {
??????????? for (y1 in 0:(n1-1)) {
??? ??? for (m in (m1+2): (7-n1)){
???? ??? ??? ? for (n in (n1+2):(9-m)){
? ??? ??? ???? for (x in x1:(x1+m-m1)){ 
?d2<- rbind(d2,c(m1,n1,x1,y1,m,n,x))
?}}}}}}}
colnames(d2)<-c("m1","n1","x1","y1","m","n","x")

res<-do.call(rbind,lapply(2:3,function(m1) do.call(rbind,lapply(2:2,function(n1) do.call(rbind,lapply(0:(m1-1),function(x1) do.call(rbind,lapply(0:(n1-1),function(y1) do.call(rbind,lapply((m1+2):(7-n1),function(m) do.call(rbind,lapply((n1+2):(9-m),function(n) do.call(rbind,lapply(x1:(x1+m-m1), function(x) expand.grid(m1,n1,x1,y1,m,n,x)) )))))))))))))
names(res)<- c("m1","n1","x1","y1","m","n","x")
?attr(res,"out.attrs")<-NULL
?identical(d2,res)
#[1] TRUE
A.K.