[R] list of matrices --> array

Murat Tasan mmuurr at gmail.com
Thu Feb 14 07:13:07 CET 2013


FYI - this is my current method, but somehow i just don't like it ;-)

foo <- array(NA, dim = c(4,5,length(my_list)))
for(k in 1:length(my_list)) {
  foo[,,k] <- my_list[[k]]
}

-m

On Thu, Feb 14, 2013 at 1:03 AM, Murat Tasan <mmuurr at gmail.com> wrote:
> i'm somehow embarrassed to even ask this, but is there any built-in
> method for doing this:
>
> my_list <- list()
> my_list[[1]] <- matrix(1:20, ncol = 5)
> my_list[[2]] <- matrix(20:1, ncol = 5)
>
> now, knowing that these matrices are identical in dimension, i'd like
> to unfold the list to a 2x4x5 (or some other permutation of the dim
> sizes) array.
> i know i can initialize the array, then loop through my_list to fill
> the array, but somehow this seems inelegant.
> i also know i can vectorize the matrices and unlist the list, then
> build the array from that single vector, but this also seems inelegant
> (and an easy place to introduce errors/bugs).
>
> i can't seem to find any built-in that handles this already... but
> maybe i just haven't looked hard enough :-/
>
> cheers,
>
> -m



More information about the R-help mailing list