當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R list 列表 – 通用和點對


R語言 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

一個邏輯,指示結果列表的names是否應該排序(遞增)。請注意,這有點昂貴,但對於環境比較可能很有用。

細節

幾乎所有列表都在R內部是通用向量,而傳統的點對列表(如 LISP 中的列表)仍然可用,但很少被用戶看到(除非formals的函數)。

listpairlist 的參數的形式為 valuetag = value 。這些函數返回由其參數組成的列表或點對列表,其中每個值都已標記或未標記,具體取決於參數的指定方式。

alist 處理其參數,就像它們說明函數參數一樣。因此,不會評估這些值,並且允許沒有值的標記參數,而 list 隻是忽略它們。 alist 最常與 formals 結合使用。

as.list 嘗試將其參數強製為列表。對於函數,這將返回形式參數列表和函數體的串聯。對於表達式,返回組成元素的列表。 as.list 是通用的,並且由於默認方法為非列表調用 as.vector(mode = "list"),因此可能會調用 as.vector 的方法。 as.list 將一個因子轉換為單元素因子列表,保留 names 。除非參數已經是列表或表達式,否則可以刪除其他屬性。 (這與 as.character 等總是刪除屬性的函數不一致,並且是為了提高效率,因為複製列表的成本可能很高。)

當且僅當其參數是 length listpairlist 時, 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 調度方法。列表被逐個元素複製到配對列表中,列表的名稱用作配對列表的標簽:其他類型參數的返回值未記錄。

listis.listis.pairlistprimitive 函數。

例子

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 ,用於串聯; formalsunlistas.list() 的近似逆。

plotmath’用於在繪圖注釋中使用list

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Lists – Generic and Dotted Pairs。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。