📅  最后修改于: 2023-12-03 15:24:20.940000             🧑  作者: Mango
在 R 中,列表是一个强大的数据结构,类似于向量,但其元素可以是不同的数据类型。列表的每个元素可以是任何 R 对象,包括向量、矩阵、数据框、甚至是另一个列表。列表由函数 list()
创建,例如:
my_list <- list(a = c(1,2,3), b = "hello", c = matrix(1:9, nrow = 3))
这个列表 my_list
包含了一个数值型向量 a
、一个字符型向量 b
和一个 3 行 3 列的矩阵 c
。
与向量类似,列表的元素也可以通过索引位置或者名称进行访问。列表的子集可以通过以下方式进行:
列表的子集化方式与向量相同,可以通过下标进行访问。例如,我们可以通过列表中元素的下标来访问某一元素,例如:
my_list[[1]] # 取出第一个元素,是一个数值型向量
我们还可以对列表进行切片操作,例如:
my_list[1:2] # 取出第一个和第二个元素
这将返回一个新的列表,包含原列表中的前两个元素。
除了使用下标,我们还可以通过元素的名称进行子集化。例如,我们可以通过以下方式访问列表中的元素:
my_list$a # 取出元素 a,实质等价于 my_list[["a"]]
注意,在访问列表中的元素时,我们应该使用 [[ ]]
而不是 [ ]
操作符。[[ ]]
操作符会返回列表中的元素本身,而 [ ]
操作符则会返回包含该元素的列表。
我们还可以通过名称切片列表,例如:
my_list[c("a", "b")] # 取出元素 a 和 b
这将返回一个新的列表,包含原列表中的元素 a 和 b。
在 R 中,列表是一种强大的数据结构,可以容纳不同的数据类型。列表的子集化操作与向量类似,可以通过下标或者名称进行访问,并且支持切片操作。要注意的是,在访问列表中的元素时,应该使用 [[ ]]
而不是 [ ]
操作符。