[R] converting matrix of lists to a regular matrix

Gabor Grothendieck ggrothendieck at gmail.com
Sun Oct 4 02:01:22 CEST 2009


Try this:

matrix(list(1, 11, 111, 2, 22, 222), nc = 2, dimnames = list(NULL, c("a", "b")))

or

out  <- list(1, 11, 111, 2, 22, 222)
dim(out) <- c(3, 2)
colnames(out) <- c("a", "b")

On Sat, Oct 3, 2009 at 7:51 PM, Andrew Yee <yee at post.harvard.edu> wrote:
> Take the following code:
>  foo <- list()
>
> foo[[1]] <- list(a=1, b=2)
> foo[[2]] <- list(a=11, b=22)
> foo[[3]] <- list(a=111, b=222)
>
> result <- do.call(rbind, foo)
> result[,'a']
>
> In this case, result[,'a'] shows a list. Is there a more elegant way such
> that result is a "regular" matrix of vectors? I imagine there are manual
> ways of going about this, but I was wondering if there was an obvious step
> that I was missing.
>
> Thanks,
> Andrew
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>




More information about the R-help mailing list