[R] Substituted arguments surviving multiple function calls
Michael Hoffman
hoffman.mm at gmail.com
Tue Aug 23 15:27:03 CEST 2005
I am using R 2.1.1 and have written a function that will retrieve a
named column from a data frame:
d = data.frame(a1=c(4, 2), a2=c(6, 7))
f1 = function(x)
{
do.call("$", list(d, substitute(x)))
}
So this works:
> f1(a1)
[1] 4 2
However, I want to make another function, f2, which also accepts a
column name as an argument and then calls the first function with it:
f2 = function(x)
{
f1(substitute(x))
}
However, this does not work:
> f2(a1)
Error in list(a1 = c(4, 2), a2 = c(6, 7))$substitute(x) :
invalid subscript type
It works if I take the substitute() out of f1(), but then I can only
call f1() through f2() or something that does the substitution for it.
Is there a better way to do this?
Thanks for any help you can offer.
--
Michael Hoffman
More information about the R-help
mailing list