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