📜  R – 列表(1)

📅  最后修改于: 2023-12-03 15:34:35.545000             🧑  作者: Mango

R – 列表

R 语言中的列表是一种数据结构,它可以存储各种数据类型的元素。在 R 中,列表是由嵌套的向量组成的数据集合。列表可以像向量一样进行索引、切片、过滤等操作,但是它可以存储多种类型的数据,而不仅仅是同种类型的数据。因此,列表是一种非常灵活的数据结构,适合存储和处理复杂的数据。

创建列表

在 R 中,可以使用 list() 函数来创建列表。

# 创建一个列表,包含三个向量
my_list <- list(c(1, 2, 3), c("a", "b", "c"), c(TRUE, FALSE))
列表的索引和切片

列表可以像向量一样进行索引和切片操作,但是它可以存储多种类型的数据,因此索引和切片的结果也是一个列表。

# 获取列表中的第一个元素
my_list[[1]]

# 获取列表中的第二个元素的第一个元素
my_list[[2]][1]

# 获取列表中的第三个元素
my_list[[3]]

# 切片操作返回的是一个列表
my_list[1:2]

# 可以使用 $ 符号来获取列表中的元素
my_list[[1]]$a
列表的迭代

当处理多层列表时,可以使用 lapply() 和 sapply() 函数来迭代列表中的元素。

# lapply() 函数用于迭代列表中的每个元素,返回一个列表
lapply(my_list, function(x) mean(x))

# sapply() 函数和 lapply() 类似,但是返回的是向量而不是列表
sapply(my_list, function(x) mean(x))
列表的过滤

列表也可以通过逻辑向量来进行过滤。

# 获取向量中大于 2 的元素
my_list[[1]][my_list[[1]] > 2]

# 获取字符向量中包含 "a" 的元素
my_list[[2]][grepl("a", my_list[[2]])]
列表的合并

列表可以使用 c() 函数进行合并。

# 合并两个列表
my_list2 <- list(c(4, 5, 6), c("d", "e", "f"), c(TRUE, TRUE))
c(my_list, my_list2)

以上就是 R 语言中列表的基本操作和用法。列表作为一种非常灵活的数据结构,可以存储和处理各种类型的数据,对于处理复杂的数据集合非常有用。