目前使用的是SEXPTYPE 0:10 和 13:25。值11和12曾用于内部因子
和无序因子,但已经被淘汰了。注意,
SEXPTYPE存放在用 save保存的对象中,并且对类型进行了排序,
因此,缺口很难再生1。
编号 SEXPTYPE 描述 0NILSXPNULL1SYMSXP符号(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 层次上是比较常见的:作为原子类型的
LGLSXP,INTSXP,REALSXP,CPLXSP,
STRSXP 和 RAWSXP。列表是 VECSXP而名字(同样也
称为符号)是 SYMSXP。成对列表(LISTSXP,该名字
是由于 R 在早期是一种 Scheme 类似的语言而遗留下来的)在
R 层次上已经很少见到了,但有时会作为参数列表 (argument
lists)的例子而存在。字符变量是一种高效的列表,它的元素
都是一种在 R 层次很少见的变量 CHARSXP。
语言对象(LANGSXP) 就是调用(call)(包括公式等)。
本质上,它们是成对列表,其中第一个元素是
一个指向被调用函数的引用(reference)2 而余下的元素是该调用的事实参数(在设定
特定参数的名字时需要使用标签(tag))。
表达式是 EXPRSXP类型:它们是对象(通常是语言)的向量,
并且通常看作 parse()的结果。
函数主要是 CLOSXP, SPECIALSXP 和
BUILTINSXP类型:其中 SEXPTYPE存放在一个整数中,它
有时会聚集在一个代码为99的假类型(psudo-type)
FUNSXP中。通过 function 定义的函数是 CLOSXP类型,
它包括公式,主体部分和环境。
属于 SEXPTYPE 的 S4SXP 是从 R 2.4.0 开始引进
用空列表表示 S4 类。
它是一种不仅仅由原子向量或函数等
简单类型构成的对象。