R语言 
is.recursive 位于 base 包(package)。 说明
如果 x 是原子类型(或 NULL ),则 is.atomic 返回 TRUE ,否则返回 FALSE 。
如果 x 具有递归 (list-like) 结构,则 is.recursive 返回 TRUE,否则返回 FALSE。
用法
is.atomic(x)
is.recursive(x)
参数
x | 
 被测试的对象。  | 
细节
is.atomic 对于 atomic 类型( "logical" 、 "integer" 、 "numeric" 、 "complex" 、 "character" 和 "raw" )和 NULL 为 true。
大多数类型的对象都被视为递归的。例外是原子类型,NULL,符号(由下式给出as.name),S4带有槽、外部指针的对象,以及——很少可见R—弱引用和字节码,参见typeof.
通常将原子类型称为“原子向量”,但请注意,is.vector 施加了进一步的限制:对象可以是原子的,但不能是向量(在这个意义上)。
这些是primitive 函数。
例子
require(stats)
is.a.r <- function(x) c(is.atomic(x), is.recursive(x))
is.a.r(c(a = 1, b = 3)) # TRUE FALSE
is.a.r(list())          # FALSE TRUE - a list is a list
is.a.r(list(2))         # FALSE TRUE
is.a.r(lm)              # FALSE TRUE
is.a.r(y ~ x)           # FALSE TRUE
is.a.r(expression(x+1)) # FALSE TRUE
is.a.r(quote(exp))      # FALSE FALSE
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
is.list 、 is.language 等,以及 demo("is.things") 。
相关用法
- R is.object 对象是“内部分类的”吗?
 - R is.language 对象是语言对象吗?
 - R is.finite 有限、无限和 NaN 数
 - R is.single 对象是单精度类型吗?
 - R is.R 我们使用的是 R,而不是 S?
 - R is.unsorted 测试对象是否未排序
 - R is.function 是类型(原始)函数的对象吗?
 - R isS4 测试 S4 对象
 - R isSymmetric 测试矩阵或其他对象是否对称(厄米特)
 - R invisible 将打印模式更改为不可见
 - R icuSetCollate 按 ICU 设置整理
 - R identity 恒等函数
 - R identical 测试对象是否完全相等
 - R integer 整数向量
 - R iconv 在编码之间转换字符向量
 - R interactive R 是否以交互方式运行?
 - R interaction 计算因子交互作用
 - R ifelse 条件元素选择
 - R file.path 构造文件路径
 - R grep 模式匹配和替换
 - R getwd 获取或设置工作目录
 - R vector 向量 - 创建、强制等
 - R lapply 对列表或向量应用函数
 - R dump R 对象的文本表示
 - R Sys.getenv 获取环境变量
 
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Is an Object Atomic or Recursive?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
