第8章 列表
列表(list)是R语言的对象集合,可以用来保存不同类型的数据,使用list()
函数创建。与c()
函数[小节3]不同,list()
函数保留输入数据最初的数据结构,而c()
函数将所有输入数据降维放入一个向量中。使用unlist()
函数可以将列表转变为向量。
## [1] 3
## [1] 8
## [1] 8
在获取列表元素时,如果采用[]
+索引值的方式,返回的结果为包含该元素的列表。如果需要将列表元素提取为向量,则需采用[[]]
+索引值的方式。如果列表的元素有名称,可以采用$
或[[]]
+名称的方式调用。
向列表添加元素可以使用append()
函数。
注意:如果需要将整个向量添加进原有列表中,必须先将向量转为列表形式,否则R会将向量中的元素逐个添加为列表的元素。
## [1] "a" "b" "c"
# 如果列表的元素有名称,可以采用`$`调用
# 给列表的元素命名
names(test_list) <- c("vec", "n", "mtx")
# 使用"$+名称"调用列表元素
test_list$vec
## [1] "a" "b" "c"
## [1] "a" "b" "c"
## $vec
## [1] "a" "b" "c"
##
## $n
## [1] 23
##
## $mtx
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
##
## [[4]]
## [1] FALSE FALSE TRUE
## $vec
## [1] "a" "b" "c"
##
## $n
## [1] 23
##
## $mtx
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
##
## [[4]]
## [1] FALSE
##
## [[5]]
## [1] FALSE
##
## [[6]]
## [1] TRUE