This help topic is for R version 0.60. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/eval.html
eval {base}R Documentation

Evaluate an (Unevaluated) Expression

Description

This function evaluates the expression expr argument in the environment specified by envir and returns the computed value. If envir is not specified, then sys.frame(sys.parent()), the environment where the call to eval was made is used. This allows you to assign complicated expressions to symbols and then evaluate them. If you want to evaluate expr in envir then you must wrap a call to expression around it.

Usage

eval(expr, envir=sys.frame(sys.parent()))

Arguments

expr

object of mode expression or an “unevaluated expression”.

envir

the environment in which expr is to be evaluated.

See Also

expression, sys.frame, environment.

Examples

eval(2 ^ 2 ^ 3)
mEx <- expression(2^2^3); mEx; 1 + eval(mEx)
eval({ xx <- pi; xx^2}) ; xx

ev <- function() {
	e1 <- sys.frame(sys.parent())
	## Evaluate a in e1
	aa <- eval(expression(a),e1)
	## evaluate the expression bound to a in e1
	a <- expression(x+y)
	list(aa = aa, eval = eval(a, e1))
}
tst.ev <- function(a = 7) { x <- pi; y <- 1; ev() }
tst.ev()#-> aa : 7,  eval : 4.14

[Package base version 0.60 ]