list
位於 base
包(package)。 說明
構造、強製和檢查這兩種類型的函數R列表。
用法
list(...)
pairlist(...)
as.list(x, ...)
## S3 method for class 'environment'
as.list(x, all.names = FALSE, sorted = FALSE, ...)
as.pairlist(x)
is.list(x)
is.pairlist(x)
alist(...)
參數
... |
對象,可能有名稱。 |
x |
對象被強製或測試。 |
all.names |
一個邏輯值,指示是否複製所有值或(默認)僅複製名稱不以點開頭的值。 |
sorted |
一個邏輯,指示結果列表的 |
細節
幾乎所有列表都在R內部是通用向量,而傳統的點對列表(如 LISP 中的列表)仍然可用,但很少被用戶看到(除非formals
的函數)。
list
或 pairlist
的參數的形式為 value
或 tag = value
。這些函數返回由其參數組成的列表或點對列表,其中每個值都已標記或未標記,具體取決於參數的指定方式。
alist
處理其參數,就像它們說明函數參數一樣。因此,不會評估這些值,並且允許沒有值的標記參數,而 list
隻是忽略它們。 alist
最常與 formals
結合使用。
as.list
嘗試將其參數強製為列表。對於函數,這將返回形式參數列表和函數體的串聯。對於表達式,返回組成元素的列表。 as.list
是通用的,並且由於默認方法為非列表調用 as.vector(mode = "list")
,因此可能會調用 as.vector
的方法。 as.list
將一個因子轉換為單元素因子列表,保留 names
。除非參數已經是列表或表達式,否則可以刪除其他屬性。 (這與 as.character
等總是刪除屬性的函數不一致,並且是為了提高效率,因為複製列表的成本可能很高。)
當且僅當其參數是 length
的 list
或 pairlist
時, is.list
返回 TRUE
。當且僅當參數是配對列表或NULL
(見下文)時,is.pairlist
返回TRUE
。
as.list
的 "environment"
方法將 name-value 對(對於不以點開頭的名稱)從環境複製到命名列表。用戶可以請求複製所有命名對象。除非 sorted = TRUE
,否則列表沒有特定的順序(順序取決於對象的創建順序以及環境是否經過哈希處理)。不搜索封閉環境。 (複製的對象是重複的,因此這可能是一項昂貴的操作。)請注意,有一個逆操作,即列表對象的 as.environment()
方法。
空對列表 pairlist()
與 NULL
相同。這與 list()
不同:一些但不是全部操作會將空配對列表提升為空列表。
as.pairlist
實現為 as.vector(x,
"pairlist")
,因此將為通用函數 as.vector
調度方法。列表被逐個元素複製到配對列表中,列表的名稱用作配對列表的標簽:其他類型參數的返回值未記錄。
list
、is.list
和 is.pairlist
是 primitive 函數。
例子
require(graphics)
# create a plotting structure
pts <- list(x = cars[,1], y = cars[,2])
plot(pts)
is.pairlist(.Options) # a user-level pairlist
## "pre-allocate" an empty list of length 5
vector("list", 5)
# Argument lists
f <- function() x
# Note the specification of a "..." argument:
formals(f) <- al <- alist(x = , y = 2+3, ... = )
f
al
## environment->list coercion
e1 <- new.env()
e1$a <- 10
e1$b <- 20
as.list(e1)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
vector("list", length)
用於創建包含空組件的列表; c
,用於串聯; formals
。 unlist
是 as.list()
的近似逆。
‘plotmath’用於在繪圖注釋中使用list
。
相關用法
- R list2DF 從列表創建 DataFrame
- R list.files 列出目錄/文件夾中的文件
- R list2env 從列表中構建或添加到環境
- R libPaths 包的搜索路徑
- R license R 許可條款
- R library 加載/附加和列出包
- R library.dynam 從包中加載 DLL
- R libcurlVersion libcurl 的報告版本
- R lapply 對列表或向量應用函數
- R levels 級別屬性
- R ls 列出對象
- R lengths 列表或向量元素的長度
- R load 重新加載保存的數據集
- R lower.tri 矩陣的下三角部分和上三角部分
- R log 對數和指數
- R locales 查詢或設置區域設置的各個方麵
- R l10n_info 本地化信息
- R length 物體的長度
- R labels 從對象中查找標簽
- R logical 邏輯向量
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R dump R 對象的文本表示
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Lists – Generic and Dotted Pairs。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。