It works, Arun. Thanks!
(FYI, a couple a the matrices I am dealing with have 1000+ rows, so I had
to do in on a supercomputer at work. For the curious, I am trying to find
all possible scores in a model f language mixing described in:
Title: Structured Variation in Codeswitching: Towards an Empirically Based
Typology of Bilingual Speech Patterns
Authors: Deuchar, Margaret; Muysken, Pieter; Wang, Sung-Lan
Publication Date: 2007
Journal Name: International Journal of Bilingual Education and
Bilingualism)


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.

Reply via email to