expression {base}R Documentation

Unevaluated Expressions


Creates or tests for objects of mode "expression".



as.expression(x, ...)


... expression: R objects, typically calls, symbols or constants.
as.expression: arguments to be passed to methods.
x 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, typically as returned by parse.

As an object of mode "expression" is a list, it can be subsetted by both [ and by [[, the latter extracting individual calls etc.


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. NULL, calls, symbols (see as.symbol) and pairlists are returned as the element of a length-one expression vector. Vectors (including lists) are placed element-by-element into an expression vector. Other types are not currently supported.


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

call, eval, function. Further, text and legend for plotting mathematical expressions.


length(ex1 <- expression(1+ 0:9))# 1
eval(ex1)# 1:10

length(ex3 <- expression(u,v, 1+ 0:9))# 3
mode(ex3 [3]) # expression
mode(ex3[[3]])# call

[Package base version 2.5.0 Index]