跳到主要内容

R语言列表

提示
  1. 列表的创建和特点:在 R 中,列表由 list() 函数创建,可包含相同或不同类型的数据。
  2. 访问和修改列表元素:使用索引号访问列表中的元素,可以通过重新分配新值来更改列表元素。
  3. 添加、移除元素和遍历列表:使用 append() 函数向列表添加元素,通过指定负索引来移除元素,可用循环遍历列表中的每个元素。

列表是包含相似或不同类型数据的集合。

在 R 中,我们使用 list() 函数来创建列表。例如,

# 包含相同类型数据的列表
list1 <- list(24, 29, 32, 34)

# 包含不同类型数据的列表
list2 <- list("Ranjy", 38, TRUE)

这里,

  • list1 - 整数列表
  • list2 - 包含字符串、整数和布尔值的列表

在 R 中访问列表元素

在 R 中,列表中的每个元素都与一个数字相关联。这个数字被称为列表索引。

我们可以使用索引号 (1, 2, 3 ) 来访问列表中的元素。例如,

list1 <- list(24, "Sabby", 5.4, "Nepal")

# 访问第一个项目
print(list1[1]) # 24

# 访问第四个项目
print(list1[4]) # Nepal

在上面的例子中,我们创建了一个名为 list1 的列表。

这里,我们使用了向量索引来访问向量元素

  • list1[1] - 访问第一个元素 24
  • list1[4] - 访问第三个元素 "Nepal"

注意:在 R 中,列表索引总是从 1 开始。因此,列表的第一个元素位于索引 1,第二个元素位于索引 2,以此类推。

在 R 中修改列表元素

要更改列表元素,我们可以简单地将新值重新分配给特定索引。例如,

list1 <- list(24, "Sabby", 5.4, "Nepal")

# 改变索引 2 处的元素
list1[2] <- "Cathy"

# 打印更新后的列表
print(list1)

输出

[[1]]
[1] 24

[[2]]
[1] "Cathy"

[[3]]
[1] 5.4

[[4]]
[1] "Nepal"

这里,我们将新值重新分配给了索引 2,将列表元素从 "Sabby" 更改为 "Cathy"

向 R 列表中添加项目

我们使用 append() 函数在列表末尾添加项目。例如,

list1 <- list(24, "Sabby", 5.4, "Nepal")

# 使用 append() 函数
append(list1, 3.14)

输出

[[1]]
[1] 24

[[2]]
[1] "Sabby"

[[3]]
[1] 5.4

[[4]]
[1] "Nepal"

[[5]]
[1] 3.14

在上面的例子中,我们创建了一个名为 list1 的列表。注意这一行,

append(list1, 3.14)

这里,append() 函数在列表的末尾添加了 3.14

在 R 中从列表中移除元素

R 允许我们从列表中移除元素。我们首先使用列表索引访问元素,并添加负号 - 来表示我们想要删除该项。例如,

  • [-1] - 移除第 1 个项目
  • [-2] - 移除第 2 个项目,以此类推。
list1 <- list(24, "Sabby", 5.4, "Nepal")

# 移除第 4 个元素
print(list1[-4]) # Nepal

输出

[[1]]
[1] "Sabby"

[[2]]
[1] 5.4

[[3]]
[1] "Nepal"

这里,list[-4] 移除了 list1 的第 4 个项目。

R 列表的长度

在 R 中,我们可以使用 length() 函数来找出列表中的元素数量。例如,

list1 <- list(24, "Sabby", 5.4, "Nepal")

# 使用 length() 找出 list1 中的总元素数量
cat("总元素数量:", length(list1))

输出

总元素数量:4

这里,我们使用了 length() 函数来找出 list1 的长度。由于 list1 中有 4 个元素,所以 length() 返回 4

遍历列表

在 R 中,我们也可以使用 for 循环 遍历列表中的每个元素。例如,

items <- list(24, "Sabby", 5.4, "Nepal")

# 遍历 numbers 的每个元素
for (item in items) {
print(item)
}

输出

[1] 24
[1] "Sabby"
[1] 5.4
[1] "Nepal"

检查 R 列表中是否存在元素

在 R 中,我们使用 %in% 运算符来检查指定的元素是否存在于列表中,并返回布尔值。

  • TRUE - 如果列表中存在指定元素
  • FALSE - 如果列表中不存在指定元素

例如,

list1 <- list(24, "Sabby", 5.4, "Nepal")

"Sabby" %in% list1 # TRUE

"Kinsley" %in% list1 # FALSE

输出

TRUE
FALSE

这里,

  • "Larry" 存在于 list1 中,所以方法返回 TRUE
  • "Kinsley" 不存在于 list1 中,所以方法返回 FALSE