Thank you, Arun, I'll try it and let the list know if it works so the thread can be closed. I haven't worked in R for several years so I am really rusty. FYI, for people interested in why I want to do this, I am trying to calculate all the possible outcomes of applying the model below to a bilingual corpus: Deuchar, Margaret, Pieter Muysken, Sung-Lan Wang. 2007. ³Structured Variation in Codeswitching:Towards an Empirically Based Typology of Bilingual Speech Patterns.²International Journal of Bilingual Education and Bilingualism 10 (3): 298340. I accept responsibility for not having included this information in the original post.
Bruno Estigarribia Assistant Professor of Spanish, Department of Romance Languages and Literatures Research Assistant Professor of Psychology, Cognitive Science Program Affiliate Faculty, Global Studies Dey Hall, Room 332, CB# 3170 University of North Carolina at Chapel Hill estig...@email.unc.edu 917-348-8162 On 5/27/13 1:54 PM, "arun" <smartpink...@yahoo.com> wrote: >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]),se >q(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))),func >tion(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.