Hi,
do.call doesn't help, but the solution provided by Henrique D. is much
cleaner than my hack:
> sapply(ls(patt='foo'),get)
Thanks to all.
Carl
Rolf Turner wrote:
On 19/06/2009, at 9:25 AM, Carl Witthoft wrote:
Let's say I have, for some reason, a bunch of scalars (i.e.
single-valued variables) and I want to merge them all into a single
vector of values. Can someone recommend a better function, or simpler
way, to do so than the following?
Suppose my scalars' names are foo1, foo2, foo3, foo1high, foo2high,
foo3lo2, etc. Then I can do:
ls(pat='foo')->thels
mapply(function(x) eval(as.name(thels[x])),seq(1:length(thels)))->vecfoo
I was hoping for some way to avoid creating a function and an *apply
call. Conceptually, eval(as.name(c(thels))) which of course doesn't
work.
Does
do.call(c,thels)
work?
______________________________________________
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.