Hi,
Not sure if this is what you expected:

set.seed(24)
mat1<- matrix(sample(1:20,3*4,replace=TRUE),ncol=3)
set.seed(28)
mat2<- matrix(sample(1:25,3*6,replace=TRUE),ncol=3)
set.seed(30)
mat3<- matrix(sample(1:35,3*8,replace=TRUE),ncol=3)
set.seed(35)
mat4<- matrix(sample(1:40,3*10,replace=TRUE),ncol=3)
 
dat1<-expand.grid(seq(dim(mat1)[1]),seq(dim(mat2)[1]),seq(dim(mat3)[1]),seq(dim(mat4)[1]))
vec1<-paste0("mat",1:4)
matNew<-do.call(cbind,lapply(seq_len(ncol(dat1)),function(i) 
get(vec1[i])[dat1[,i],]))
colnames(matNew)<- (seq(12)-1)%%3+1
datNew<-data.frame(matNew)
res<-sapply(split(colnames(datNew),gsub("\\..*","",colnames(datNew))),function(x)
 rowSums(datNew[,x]))

dim(res)
#[1] 1920    3
 head(res)
#     X1 X2 X3
#[1,] 46 63 70
#[2,] 45 68 59
#[3,] 55 55 66
#[4,] 51 65 61
#[5,] 48 84 75
#[6,] 47 89 64

A.K.

----- Original Message -----
From: "Estigarribia, Bruno" <estig...@email.unc.edu>
To: "r-help@R-project.org" <r-help@r-project.org>
Cc: 
Sent: Monday, May 27, 2013 11:24 AM
Subject: [R] How sum all possible combinations of rows, given 4 matrices

Hello all,

I have 4 matrices with 3 columns each (different number of rows though). I
want to find a function that returns all possible 3-place vectors
corresponding to the sum by columns of picking one row from matrix 1, one
from matrix 2, one from matrix 3, and one from matrix 4. So basically, all
possible ways of picking one row from each matrix and then sum their
columns to obtain a 3-place vector.
Is there a way to use expand.grid and reduce to obtain this result? Or am
I on the wrong track?
Thank you,
Bruno
PS:I believe I have given all relevant info. I apologize in advance if my
question is ill-posed or ambiguous.

______________________________________________
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.

Reply via email to