| 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 |
envir |
the |
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