expression {base} | R Documentation |

## Unevaluated Expressions

### Description

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. |

### 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, 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.

### 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. `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.

### References

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.

### Examples

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

[Package

*base* version 2.5.0

Index]