[R] Question on list object
Phil Spector
spector at stat.berkeley.edu
Wed Apr 27 19:12:22 CEST 2011
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.
>
More information about the R-help
mailing list