On Jan 25, 2008 11:27 AM, Sergey Goriatchev <[EMAIL PROTECTED]> wrote:
> Dear members of R forum,
>
> Say I have a list:
>
> L <- list(1:3, 1:3, 1:3)
>
> that I want to turn into a matrix.
>
> I wonder why if I do:
>
> do.call(cbind, L)
>
> I get the matrix I want, but if I do
>
> cbind(L)
>
> I get something different from what I want. Why is that? How does
> do.call() actually work?
>
> I've read in do.call() help file this sentence: "The behavior of some
> functions, such as "substitute", will not be the same for functions
> evaluated using do.call as if they were evaluated from the
> interpreter. The precise semantics are currently undefined and subject
> to change. "
>
> Thanks for help!
> Sergey
>

Try
cbind(L[[1]],L[[2]],L[[3]])
,which is equal to do.call(cbind,L).
do.call takes a list of arguments, and feed each element of that list
to the function.
cbind takes two or more matrices, not a list of matrices as arguments.

/Gustaf

-- 
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik

______________________________________________
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.

Reply via email to