[R] Evaluation of an expression as function argument

Uwe Ligges ligges at statistik.tu-dortmund.de
Wed Apr 29 22:48:05 CEST 2009



Sebastien Bihorel wrote:
> Dear R-users,
> 
> I would like to know if is it possible to set a function argument as an 
> evaluated expression. I have tried several syntaxes, including the 
> following example, but could not get it anything to run. The plot 
> function is used here but I would like to later apply the same approach 
> to other functions.
> 
> ##########################
> items <- c(expression(col=2),expression(pch=2))
>
> for (in in seq(2)) {
>  plot(1:10, eval(items[i]))
> }
> ##########################

Way 1:

for(i in seq(2))
   do.call("plot", c(list(1:10), as.list(items[i])))


Way 2 is perhaps easier for you:


items <- list(col=2, pch=2)
for (i in seq(2))
   do.call("plot", c(list(1:10), items[i]))


Ways 3...n up to others...


Uwe Ligges




> 
> Thanks in advance for your input.
> 
> Sebastien
> 
> ______________________________________________
> 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