Matteo Richiardi
2016-Jan-30 01:03 UTC
[R] updating elements of a list of matrixes without 'for' cycles
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