1.1.1 SEXPTYPEs

Keywords:

Next: ,Previous: SEXPs,Up: SEXPs

1.1.1 SEXPTYPEs

目前使用的是SEXPTYPE 0:10 和 13:25。值11和12曾用于内部因子和无序因子,但已经被淘汰了。注意,SEXPTYPE存放在用 save保存的对象中,并且对类型进行了排序,因此,缺口很难再生1

编号SEXPTYPE描述
0NILSXPNULL
1SYMSXP符号(symbols)
2LISTSXP成对列表(pairlists)
3CLOSXP闭包(closures)
4ENVSXP环境(environments)
5PROMSXP允诺(promises)
6LANGSXP语言对象(language objects)
7SPECIALSXP专用函数(special functions)
8BUILTINSXP内置函数(builtin functions)
9CHARSXP内部字符串(internal character strings)
10LGLSXP逻辑向量
13INTSXP整数向量
14REALSXP数值向量
15CPLXSXP复数向量
16STRSXP字符向量
17DOTSXP...对象(dot-dot-dot object)
18ANYSXP让“any”自变量有效
19VECSXP列表(泛型向量)
20EXPRSXP表达式向量(expression vector)
21BCODESXP字节码(byte code)
22EXTPTRSXP外部指针(external pointer)
23WEAKREFSXP弱引用(weak reference)
24RAWSXP原味向量(raw vector)
25S4SXP不是简单类型的 S4 类

有一些类型在 R 层次上是比较常见的:作为原子类型的LGLSXPINTSXPREALSXPCPLXSPSTRSXPRAWSXP。列表是 VECSXP而名字(同样也称为符号)是 SYMSXP。成对列表(LISTSXP,该名字是由于 R 在早期是一种 Scheme 类似的语言而遗留下来的)在R 层次上已经很少见到了,但有时会作为参数列表 (argumentlists)的例子而存在。字符变量是一种高效的列表,它的元素都是一种在 R 层次很少见的变量 CHARSXP

语言对象(LANGSXP) 就是调用(call)(包括公式等)。本质上,它们是成对列表,其中第一个元素是一个指向被调用函数的引用(reference)2 而余下的元素是该调用的事实参数(在设定特定参数的名字时需要使用标签(tag))。

表达式是 EXPRSXP类型:它们是对象(通常是语言)的向量,并且通常看作 parse()的结果。

函数主要是 CLOSXPSPECIALSXPBUILTINSXP类型:其中 SEXPTYPE存放在一个整数中,它有时会聚集在一个代码为99的假类型(psudo-type)FUNSXP中。通过 function 定义的函数是 CLOSXP类型,它包括公式,主体部分和环境。

属于 SEXPTYPES4SXP 是从 R 2.4.0 开始引进用空列表表示 S4 类。它是一种不仅仅由原子向量或函数等简单类型构成的对象。


Footnotes

[1] 译者注:原句为“Note that the SEXPTYPEs are stored in savedobjects and that the ordering of the types is used, so the gap cannoteasily be reused.”

[2] 一个指向函数或符号的指针,它可以通过名字或解析语言对象找到并给出函数。

Hits:Loading...

special topic