Thanks, as you suggested,
do.call(rbind, lapply(foo, unlist))

does the trick.

On Sat, Oct 3, 2009 at 8:30 PM, David Winsemius <dwinsemius@comcast.net>wrote:

>
> On Oct 3, 2009, at 7:51 PM, Andrew Yee wrote:
>
>  Take the following code:
>> foo <- list()
>>
>> foo[[1]] <- list(a=1, b=2)
>> foo[[2]] <- list(a=11, b=22)
>> foo[[3]] <- list(a=111, b=222)
>>
>>
> Instead, perhaps:
>
> > do.call(rbind, lapply(foo, unlist))
>       a   b
> [1,]   1   2
> [2,]  11  22
> [3,] 111 222
>
> > do.call(rbind, lapply(foo, unlist))[,"a"]
> [1]   1  11 111
>
>
>  result <- do.call(rbind, foo)
>> result[,'a']
>>
>
> class(result) # also matrix
>
>
>> In this case, result[,'a'] shows a list. Is there a more elegant way such
>> that result is a "regular" matrix of vectors? I imagine there are manual
>> ways of going about this, but I was wondering if there was an obvious step
>> that I was missing.
>>
>
> Your example shows that a matrix can be constructed around a list, although
> I agree with you that this seems a bit unusual.
> --
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
>

	[[alternative HTML version deleted]]


