[R] how to collapse a list of 1 column matrix to a matrix?
François Pinard
pinard at iro.umontreal.ca
Mon Aug 20 03:33:15 CEST 2007
[adschai at optonline.net]
>I encounter a situation where I have a list whose element is a column
>matrix. Says,
>$'1'
>[,1]
>1
>2
>3
>$'2'
>[,1]
>4
>5
>6
>Is there fast way to collapse the list into a matrix like a cbind
>operation in this case? Meaning, the result should be a matrix that
>looks like:
> [,1] [,2]
>[1,] 1 4
>[2,] 2 5
>[3,] 3 6
>I can loop through all elements and do cbind manually. But I think
>there must be a simpler way that I don't know. Thank you.
The "do.call" function is the R equivalent of the "apply" from many
other languages. I guess that, in R, "apply" was already taken :-)
For example:
> a = list(x=matrix(1:3, 3, 1), y=matrix(4:6, 3, 1))
> a
$x
[,1]
[1,] 1
[2,] 2
[3,] 3
$y
[,1]
[1,] 4
[2,] 5
[3,] 6
> do.call(cbind, a)
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
--
François Pinard http://pinard.progiciels-bpi.ca
More information about the R-help
mailing list