[R] Using substitute on a function parameter
William Dunlap
wdunlap at tibco.com
Wed Sep 7 23:29:48 CEST 2011
I have used do.call("substitute", ...) to work around the
fact that substitute does not evaluate its first argument:
R> z <- quote(func(arg))
R> do.call("substitute", list(z, list(func=quote(myFunction), arg=as.name("myArgument"))))
myFunction(myArgument)
S+'s substitute (following S version 4) has a third argument, evaluate, which controls
whether the first argument is evaluated or not:
S+> z <- quote(func(arg))
S+> substitute(z, list(func=quote(myFunction), arg=as.name("myArgument")), evaluate=TRUE)
myFunction(myArgument)
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Saptarshi Guha
> Sent: Wednesday, September 07, 2011 2:21 PM
> To: R-help at r-project.org
> Subject: [R] Using substitute on a function parameter
>
> Hello,
>
> I would like to write a function where substitute operates on the
> parameter, but ...
>
>
> > Expression = function(o,l) substitute(o, l)
> > Expression({x=.(FOO)}, list(FOO=2))
> o
>
> How do i get substitute to work on the contents of o.
>
> Regards
> Saptarshi
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list