[Rd] Modifying parsed code
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Jul 7 14:48:34 CEST 2006
On 7/7/2006 8:08 AM, hadley wickham wrote:
> I would like to take this:
>
> .img(plot(1:10), filename="a")
>
> and produce
>
> plot(1:10)
>
> ie. whenever .img is used, I want to take the first argument and throw
> away everything else.
>
> (I am trying to produce a Sweave like environment in which I can apply
> certain functions, but not have them displayed in the output)
>
> I think I should be able to do it using substitute, but I don't know
> how to operate on language objects. Any hints would be appreciated.
Supposing that .img has a header something like this:
.img <- function(input, filename)
what you would do is this:
expr <- substitute(input) # now expr is the unevaluated expression
what <- deparse(expr) # now what is a text representation of it
eval(expr, envir=parent.frame()) # this should produce the same result
# as evaluating input
Duncan Murdoch
More information about the R-devel
mailing list