Gabor, thanks for the reply.
However, the output of matrix(list(1, 11, 111, 2, 22, 222), nc = 2, dimnames
= list(NULL, c("a", "b"))) is a matrix of lists.

foo <- matrix(list(1, 11, 111, 2, 22, 222), nc = 2, dimnames = list(NULL,
c("a", "b")))
foo[,'a'] # returns a list

One possible solution is as follows, though I wonder if this step could be
avoided in the first place through more careful coding of the preliminary
steps:

new.result <- matrix(unlist(result), ncol=ncol(result), dimnames=list(NULL,
colnames(result)))
# I use unlist()

Andrew

On Sat, Oct 3, 2009 at 8:01 PM, Gabor Grothendieck
<ggrothendieck@gmail.com>wrote:

> Try this:
>
> matrix(list(1, 11, 111, 2, 22, 222), nc = 2, dimnames = list(NULL, c("a",
> "b")))
>
> or
>
> out  <- list(1, 11, 111, 2, 22, 222)
> dim(out) <- c(3, 2)
> colnames(out) <- c("a", "b")
>
> On Sat, Oct 3, 2009 at 7:51 PM, Andrew Yee <yee@post.harvard.edu> 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)
> >
> > result <- do.call(rbind, foo)
> > result[,'a']
> >
> > 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.
> >
> > Thanks,
> > Andrew
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@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.
> >
>

	[[alternative HTML version deleted]]

