[R] altering a "call" variable from quote()
William Dunlap
wdunlap at tibco.com
Mon Mar 28 17:32:03 CEST 2011
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Jack Tanner
> Sent: Sunday, March 27, 2011 9:14 PM
> To: r-help at stat.math.ethz.ch
> Subject: Re: [R] altering a "call" variable from quote()
>
> Jack Tanner <ihok <at> hotmail.com> writes:
>
> > > b = quote(b==3)
> >
> > Now I want to append "&& x > 2" to the value of b. How do I do that?
>
> Never mind, I figured it out:
>
> substitute(b && x > 2, list(b=b))
You can also use call() or as.call():
> e1 <- substitute(b && x > 2, list(b=b))
> e2 <- call("&&", b, quote(x>2))
> e3 <- as.call(list(quote(`&&`), b, quote(x>2)))
> identical(e1,e2) && identical(e1,e3)
[1] TRUE
substitute can be a pain when the first argument is not
a literal expression.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
>
> ______________________________________________
> 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