Creates or tests for objects of mode
expression(...)is.expression(x) as.expression(x, ...)
expression: R objects, typically calls, symbols or constants.
as.expression: arguments to be passed to methods.
- an arbitrary R object.
Expression here is not being used in its colloquial sense,
that of mathematical expressions. Those are calls (see
call) in R, and an R expression vector is a list of
calls, symbols etc, for example as returned by
As an object of mode
"expression" is a list, it can be
$, the latter two extracting
individual calls etc. The replacement forms of these operators can be
used to replace or delete elements.
is.expression are primitive functions.
expression is special: it does not evaluate its arguments.
expressionreturns a vector of type
"expression"containing its arguments (unevaluated).
expris an expression object and
as.expressionattempts to coerce its argument into an expression object. It is generic, and only the default method is described here. (The default method calls
as.vector(type = "expression")and so may dispatch methods for
NULL, calls, symbols (see
as.symbol) and pairlists are returned as the element of a length-one expression vector. Atomic vectors are placed element-by-element into an expression vector (without using any names): lists are changed type to an expression vector (keeping all attributes). Other types are not currently supported.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
length(ex1 <- expression(1 + 0:9)) # 1 ex1 eval(ex1) # 1:10 length(ex3 <- expression(u, v, 1+ 0:9)) # 3 mode(ex3 ) # expression mode(ex3[]) # call rm(ex3)