[R] Avoid using "eval" in a neat way

Ista Zahn istazahn at gmail.com
Sat Feb 1 18:02:15 CET 2014

This has been discussed extensively, on this list as well as
elsewhere. I suggest doing a web search, read up on the issue, and
post back here only if you have specific questions that are not
answered already.


On Sat, Feb 1, 2014 at 11:40 AM, Hai Qian <hqian at gopivotal.com> wrote:
> I know using eval is not optimal and maybe bad, but how to avoid using eval
> in the following example
> func1 <- function(dat, eval.this) {
>     eval(parse(text = paste0("with(dat, ", eval.this, ")")))
> }
> dat <- data.frame(x = 1:2, y = 2:3)
> func1(dat, "x*2+y")
> func1(dat, "sin(x)*cos(y)")
> Here eval.this is a string that contains whatever the user wants to
> evaluate. I wonder whether there is a neat way to avoid using eval in this
> case? So far I have not figured out a way to do this.
>         [[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.

More information about the R-help mailing list