列表簡介

列表允許使用者在單個物件下儲存多個元素(如向量和矩陣)。你可以使用 list 函式建立列表:

l1 <- list(c(1, 2, 3), c("a", "b", "c"))
l1
## [[1]]
## [1] 1 2 3
## 
## [[2]]
## [1] "a" "b" "c"

請注意,構成上述列表的向量是不同的類。列表允許使用者對不同類的元素進行分組。列表中的每個元素也可以具有名稱。列表名稱由 names 函式訪問,並以相同的方式分配行和列名稱以矩陣形式分配。

names(l1)
## NULL
names(l1) <- c("vector1", "vector2")
l1
## $vector1
## [1] 1 2 3
## 
## $vector2
## [1] "a" "b" "c"

在建立列表物件時宣告列表名稱通常更容易,更安全。

l2 <- list(vec = c(1, 3, 5, 7, 9),
       mat = matrix(data = c(1, 2, 3), nrow = 3))
l2
## $vec
## [1] 1 3 5 7 9
## 
## $mat
##      [,1]
## [1,]    1
## [2,]    2
## [3,]    3
names(l2)
## [1] "vec" "mat"

列表上方有兩個元素,分別名為 vecmat,一個向量和矩陣。