On Aug 18, 2011, at 5:11 PM, Ernest Adrogu? wrote:
> Hi,
>
> I don't know much about R's deparsing "magic", I simply
use the
> deparse(substitute(arg)) trick to get the names of the variables
> passed as arguments to the function in order to set labels, etc.
>
> The problem is that this doesn't work with nested functions. For
> example,
>
>> foo <- function(x) print(deparse(substitute(x)))
>> a=1
>> foo(a)
> [1] "a"
>
> This is OK. However,
>
>> bar <- function(x) foo(x)
>> bar(a)
> [1] "x"
>
> this is not what I want. I wanted bar(a) to print "a" not
"x". Is it
> possible to do this?
> bar <- function(x) class(substitute(foo(x)))
> bar(a)
[1] "call
So...
> bar <- function(x) substitute(foo(x))[[2]]
> bar(a)
a
--
David Winsemius, MD
West Hartford, CT