R 列表

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

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

# list with similar type of data 
list1 <- list(24, 29, 32, 34)

# list with different type of data
list2 <- list("Ranjy", 38, TRUE)

这里,

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

在 R 中访问列表元素

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

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

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

# access 1st item
print(list1[1]) # 24

# access 4th item
print(list1[4]) # Nepal

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

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

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

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


在 R 中修改列表元素

要更改列表元素,我们只需将新值重新分配给特定索引。例如,

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

# change element at index 2
list1[2] <- "Cathy"

# print updated list
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")

# using append() function 
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")

# remove 4th item
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")

# find total elements in list1 using length()
cat("Total Elements:", length(list1))

输出

Total Elements: 4

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


遍历列表

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

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

# iterate through each elements of 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
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战