當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。