R语言数据结构7:列表list
列表(List)是R语言中一种复杂且重要的数据结构,可以包含不同类型的对象,如向量、矩阵、数据框等。
列表中的对象可以是任意类型,甚至可以包含其他列表,这使得列表成为处理复杂数据结构的常用方法。
1.列表的创建
g <- "My First List" # 字符型标量
h <- c(25, 26, 11, 23) # 数值型向量(含4个元素)
j <- matrix(1:4, nrow=2) # 2×2 矩阵(默认为按列填充)
k <- c("one", "two") # 字符型向量
# 构建列表:混合命名和未命名元素
mylist <- list(
title = g, # 第1个元素(名为 "title")
ages = h, # 第2个元素(名为 "ages")
j, # 第3个元素(未命名,直接放入矩阵)
k # 第4个元素(未命名,直接放入向量)
)
-
因为列表的元素是指针,创建列表并不涉及将组件复制到列表中,因此列表的总大小可能比你预期的要小,避免了不必要的内存复制。
-
列表(List)是一种更灵活的数据结构,它的元素可以是任意类型,包括其他列表。也就是说,列表可以“嵌套”其他列表,形成递归结构。
-
c() 函数在 R 语言中用于将多个值组合成一个向量或列表。当 c() 函数的参数中包含原子向量和列表时,它会先将原子向量强制转换为列表,然后再将它们合并成一个新的列表。
-
typeof(my_list)
返回 “list”,表示对象是列表。 -
is.list(x)
用于判断一个对象是否为列表。 -
as.list(x)
可以将其他对象转换为列表。 -
unlist(x)
可以将列表转换为原子向量,但类型转换规则可能与 c() 不同。