Then you can try this: apply(array(as.vector(sapply(patt, get)), dim = c(dim(get(patt[1])), ngroups, nsubs)), 1:3, mean)
For create the matrices in a loop one option is: lapply(seq(1, 51, by=10), function(x)matrix(seq(x, x+8), nrow=3, ncol=3)) On 02/03/2008, Emilio Gagliardi <[EMAIL PROTECTED]> wrote: > Hi Henrique, > > Thank you for your help, but it doesn't produce what I'm looking for... > > On Sun, Mar 2, 2008 at 10:50 AM, Henrique Dallazuanna <[EMAIL PROTECTED]> > wrote: > > > One options is: > > > > data.1 <- matrix(seq(from=1,to=9,by=1),nrow=3,ncol=3) > > data.2 <- matrix(seq(from=11,to=19,by=1),nrow=3,ncol=3) > > data.3 <- matrix(seq(from=21,to=29,by=1),nrow=3,ncol=3) > > data.4 <- matrix(seq(from=31,to=39,by=1),nrow=3,ncol=3) > > data.5 <- matrix(seq(from=41,to=49,by=1),nrow=3,ncol=3) > > data.6 <- matrix(seq(from=51,to=59,by=1),nrow=3,ncol=3) > > > > patt <- ls(patt='^data\\.[0-9]') > > nsubs <- 2 > > ngroups <- 3 > > apply(array(as.vector(sapply(patt, get)), dim = c(dim(get(patt[1])), > > ngroups, nsubs)), 3, mean) > > > generated [1] 20 30 40 > > but what I need is an average per cell...so in the above, there are 6 (3 x > 3) matrices across 3 groups ( 2 subjects per group)..what I need is 1 matrix > per group, not one mean. Moreover, I'm storing the data in a single > multi-dimensional array, not as a collection of arrays since I'm creating > each data matrix within a loop (I read a file, create the data matrix, store > it in a larger structure) so that I can perform operations on all the data > outside of the loop... > > for(i in 1:6) > { > str <- paste("test",i,sep=".") > str <- matrix(seq(from=1,to=9,by=1),nrow=3,ncol=3) # works, creates 6 > matrices > } > pattern <- ls(patt='^test\\.[0-9]') # doesn't work variables only exist in > the loop > > which is why I had: > subject.data[,,1,1] <- data.1 # subject 1 group 1 > subject.data[,,2,1] <- data.2 # subject 1 group 2 > subject.data[,,3,1] <- data.3 # subject 1 group 3 > subject.data[,,3,2] <- data.4 # subject 2 group 3 > subject.data[,,2,2] <- data.5 # subject 2 group 2 > subject.data[,,1,2] <- data.6 # subject 2 group 1 > > to demonstrate all the data was in a meta structure so that I could access > them later...am I making this more complicated than it needs to be? How can > I create the matrices inside a loop and have them available outside of it? > > thanks again, > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O ______________________________________________ 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.