[R] Converting a list to a matrix - I still don't think I have it right
michael watson (IAH-C)
michael.watson at bbsrc.ac.uk
Thu Feb 17 15:36:43 CET 2005
Hi
We have touched on this before, but I don't think I quite got it right.
So I have a list, each element of which is a a vector of 2 numbers:
> l2
$cat000_a01
[1] 0.3429944 4.5138244
$cat000_a02
[1] 0.1929336 4.3064944
$cat000_a03
[1] -0.2607796 4.1551591
What I actually want to convert this into is a matrix with the names
(cat000_a01 etc) as row names, the first element of each of the vectors
forming the first column of the new matrix, and the second element of
each of the vectors forming the second column:
cat000_a01 0.3429944 4.5138244
cat000_a02 0.1929336 4.3064944
cat000_a03 -0.2607796 4.1551591
What was suggested on the list last time was
matrix(unlist(mylist),nrow=length(mylist)). But if I do this I get:
> matrix(unlist(l2),nrow=length(l2))
[,1] [,2]
[1,] 0.3429944 4.3064944
[2,] 4.5138244 -0.2607796
[3,] 0.1929336 4.1551591
Which is not what I want. Here, the second element of the first vector
in my list has gone into the first column of the new matrix, and that's
not what I want at all.
Any more help would be appreciated.
Thanks
Mick
More information about the R-help
mailing list