On 24/04/15 10:41, Erin Hodgess wrote:
Hello!

I have a cbind type question, please:  Suppose I have the following:

dog <- 1:3
cat <- 2:4
tree <- 5:7

and a character vector
big.char <- c("dog","cat","tree")

I want to end up with a matrix that is a "cbind" of dog, cat, and tree.
This is a toy example.  There will be a bunch of variables.

I experimented with "do.call", but all I got was
1
2
3

I don't understand how you managed to get *that*. When I did the "obvious" thing --- do.call(cbind,as.list(big.char)) --- I got
(as expected :-) )

     [,1]  [,2]  [,3]
[1,] "dog" "cat" "tree"


Any suggestions would be much appreciated.  I still think that do.call
might be the key, but I'm not sure.

R Version 3-1.3, Windows 7.

do.call(cbind,lapply(big.char,get,envir=.GlobalEnv))

Note: I had to throw in the specification of "envir" otherwise get() got the cat() function from "base" rather than your vector "cat".

Probably not a problem for your real application; shouldn't hurt, but.

Another salutary example of why it's not a good idea to give data sets names that are names of R built-ins.

cheers,

Rolf

--
Rolf Turner
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276
Home phone: +64-9-480-4619

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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