> > Date: Sat, 30 Jan 2016 01:03:30 +0000 > From: Matteo Richiardi < > > matteo.richia...@maths.ox.ac.uk> > To: r-help@r-project.org > Subject: [R] updating elements of a list of matrixes without 'for' > cycles > Message-ID: > < > cabsru1lkohuz8m9jw1ju+nemksprirrtd_0wzotrlwi3z6d...@mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > Hi, following an earlier suggestion from the list, I am storing my > data in a "cube", i.e. an array of matrixes. > Is there any smarter way of updating the elements of the cube through > a function, other than the three 'for' cycles in the example below? > (please note that the example is simplistic; in particular, my > function is more complicated). > > # parameters > I <- 2L > J <- 2L > H <- 2L > > # data container: an array of matrixes > mycube <- array(dim=c(I,J,H)) > > # initialisation > for (h in 1:H) { > init <- matrix(c(rep(0,J)),nrow=I,ncol=J) > mycube[,,h] <- init > } > > # function > foo = function(i,j,h){ > mycube[i,j,h] <<- i*j*h > } > > # update > > for(h in 1:H){ > # males: > for(i in 1:I) > for(j in 1:J) > foo(i,j,h) > } > > Thanks a lot for your help. Matteo > > > Greetings! Have you tried sapply() on this script?
-- Jue [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.