[R] Converting a list to a matrix - I still don't think I have it right
Petr Pikal
petr.pikal at precheza.cz
Thu Feb 17 16:28:28 CET 2005
Hi Michael
On 17 Feb 2005 at 14:36, michael watson (IAH-C) wrote:
> 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
Try byrow =TRUE argument
> x<-list(a=c(1,2), b=c(4,5), d= c(10,12))
> matrix(unlist(x),nrow=length(x), byrow=T)
[,1] [,2]
[1,] 1 2
[2,] 4 5
[3,] 10 12
Cheers
Petr
> 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
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
Petr Pikal
petr.pikal at precheza.cz
More information about the R-help
mailing list