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