[R] How to read in expressions as function parameters?

Henrique Dallazuanna wwwhsd at gmail.com
Mon Dec 10 16:34:29 CET 2007


Try this:

form<- scan(file = "", what = character(0), n=1,strip.white =
 TRUE,quiet=TRUE )
form2<-parse(text=form)
foo <- function(x){}
body(foo) <- form2
curve(foo,10,100)

On 09/12/2007, Alex Wang <alecwang80 at gmail.com> wrote:
> Hi:
>
>    There, I've got a question about how to read in expressions as function
> parameters and it really bothered me.
>
>  I'm going to use curve() function to plot curves, and I'd like to write a
> menu function to let use input math expressions.
>
>   say, if I'd like curve(3*x*x-4/x, 10, 100), I use scan() to  read in the
> math expression
>
> form<- scan(file = "", what = character(0), n=1,strip.white =
> TRUE,quiet=TRUE )
> then get form as a string. "3*x*x-4/x"
> Use parse() to convert it into expression
> form2<-parse(text=form)
> then form2=expression(3*x*x-4/x).
>
> However, curve(form2,10,100) doesn't work at all.
>
> Is there anyway to get this done?
>
> Thanks a lot!
>
> Alex
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>


-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O



More information about the R-help mailing list