Creates or tests for objects of mode "expression".
Usage
expression(...)
is.expression(x)
as.expression(x, ...)
Arguments
...
expression: R objects, typically calls, symbols
or constants.
as.expression: arguments to be passed to methods.
x
an arbitrary R object.
Value
expression returns a vector of type "expression"
containing its arguments (unevaluated).is.expression returns TRUE if expr is an
expression object and FALSE otherwise.as.expression attempts 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
as.vector.) 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.
Details
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 parse.
As an object of mode "expression" is a list, it can be
subsetted by [, [[ or $, the latter two extracting
individual calls etc. The replacement forms of these operators can be
used to replace or delete elements.
expression and is.expression are primitive functions.
expression is special: it does not evaluate its arguments.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole.