Question on list object
Here's one way:
uselen = max(sapply(listObj,length))
do.call(rbind,lapply(listObj,function(x){length(x) = uselen;x}))
[,1] [,2] [,3] [,4] [,5] [1,] 0.0702225 -1.143031 1.6437560 NA NA [2,] -0.6100869 2.657910 -0.6028418 -0.7739858 NA [3,] -2.5787357 1.381395 -1.6545857 0.8239982 -1.169961 - Phil Spector Statistical Computing Facility Department of Statistics UC Berkeley spector at stat.berkeley.edu
On Wed, 27 Apr 2011, Bogaso Christofer wrote:
Dear all, let say, I have following list object:
listObj <- vector("list", length = 3)
listObj[[1]] <- rnorm(3)
listObj[[2]] <- rnorm(4)
listObj[[3]] <- rnorm(5)
Now I want to convert above list into a Matrix. Ofcourse I can do it using
"Reduce("rbind", listObj)". However as you notice that as elements of that
list are arbitrary length vectors, I cant use this trick. What I want is to
have a matrix with 3x5 dimension, where the remaining element of each row
with be filled with NA, i.e I want :
rbind(c(listObj[[1]], c(NA, NA)), c(listObj[[2]], c(NA)),listObj[[3]])
Is there any better way on how I can do that more directly?
Thanks and regards,
[[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.