[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