当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R expression 未计算的表达式


R语言 expression 位于 base 包(package)。

说明

创建或测试模式和类 "expression" 的对象。

用法

expression(...)

is.expression(x)
as.expression(x, ...)

参数

...

expressionR对象,通常是调用、符号或常量。
as.expression:要传递给方法的参数。

x

任意的R对象。

细节

这里的“表达式”并不是其口语意义上的数学表达式。这些是调用(参见call) 在R, 和R表达式向量是调用、符号等的列表,例如由parse.

由于 "expression" 模式的对象是一个列表,因此可以通过 [[[$ 进行子集化,后两者提取单独的调用等。这些运算符的替换形式可以用于替换或删除元素。

expressionis.expressionprimitive 函数。 expression 是 ‘special’:它不评估其参数。

expression 返回包含其参数(未计算)的 "expression" 类型向量。

如果 expr 是表达式对象,则 is.expression 返回 TRUE,否则返回 FALSE

as.expression 尝试将其参数强制转换为表达式对象。它是通用的,这里只说明默认方法。 (默认方法调用 as.vector(type = "expression") ,因此可以为 as.vector 调度方法。) NULL 、调用、符号(请参阅 as.symbol )和配对列表作为长度为 1 的表达式向量的元素返回。原子向量被逐个元素放入表达式向量中(不使用任何名称): list 的类型 ( typeof ) 更改为表达式向量(保留所有属性)。目前不支持其他类型。

例子

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

length(ex3 <- expression(u, 2, u + 0:9)) # 3
mode(ex3 [3])   # expression
mode(ex3[[3]])  # call
## but not all components are 'call's :
sapply(ex3, mode  ) #  name  numeric  call
sapply(ex3, typeof) # symbol  double  language
rm(ex3)

参考

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

也可以看看

callevalfunction。此外, textlegendplotmath 用于绘制数学表达式。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Unevaluated Expressions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。