📅  最后修改于: 2023-12-03 15:34:35.545000             🧑  作者: Mango
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 语言中列表的基本操作和用法。列表作为一种非常灵活的数据结构,可以存储和处理各种类型的数据,对于处理复杂的数据集合非常有用。