R 教程

浏览4610
更新时间2025-08-13

列表

在 R 语言中,列表可以包含许多不同的数据类型。列表是一种有序且可变的数据集合。

要创建列表,请使用 list() 函数:

实例

# 字符串列表
thislist <- list("apple", "banana", "cherry")

# 打印列表
thislist

访问列表

您可以通过引用括号内的索引号来访问列表项。第一项的索引为 1,第二项的索引为 2,依此类推:

实例

thislist <- list("apple", "banana", "cherry")

thislist[1]

更改项目值

要更改特定项目的值,请引用索引号:

实例

thislist <- list("apple", "banana", "cherry")
thislist[1] <- "blackcurrant"

# 打印更新后的列表
thislist

列表长度

要找出列表有多少项,请使用 length() 函数:

实例

thislist <- list("apple", "banana", "cherry")

length(thislist)

检查项目是否存在

要查明指定的项目是否存在于列表中,请使用 %in% 运算符:

实例

检查列表中是否存在 "apple":

thislist <- list("apple", "banana", "cherry")

"apple" %in% thislist

添加列表项

要将项目添加到列表末尾,请使用 append() 函数:

实例

向列表中添加 "orange":

thislist <- list("apple", "banana", "cherry")

append(thislist, "orange")

要将项目添加到指定索引的右侧,请在 append() 函数中添加 after=索引号

实例

"orange" 添加到列表中 "banana" 之后(索引 2):

thislist <- list("apple", "banana", "cherry")

append(thislist, "orange", after = 2)

删除列表项

您还可以删除列表项。以下示例创建一个新的、更新的列表,不包含 "apple" 项目:

实例

从列表中删除 "apple"

thislist <- list("apple", "banana", "cherry")

newlist <- thislist[-1]

# 打印新列表
newlist

索引范围

您可以通过使用 : 运算符指定范围的开始位置和结束位置来指定索引范围:

实例

返回第二、第三、第四和第五项:

thislist <- list("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")

(thislist)[2:5]

注意:搜索将从索引 2(包含)开始,到索引 5(包含)结束。

提示:请记住,第一项的索引为 1

遍历列表

您可以使用 for 循环遍历列表项:

实例

逐一打印列表中的所有项目:
thislist <- list("apple", "banana", "cherry")

for (x in thislist) {
  print(x)
}

连接两个列表

在 R 中,有多种方法可以连接两个或多个列表。

最常见的方法是使用 c() 函数,它将两个元素组合在一起:

实例

list1 <- list("a", "b", "c")
list2 <- list(1,2,3)
list3 <- c(list1,list2)

list3

相关视频

更多

免费

phpStudy极速入门视频教程
初级phpStudy极速入门视频教程

535505次学习

收藏

免费

Midjourney基础课程
初级Midjourney基础课程

13301次学习

收藏

免费

极客学院Git使用视频教程
初级极客学院Git使用视频教程

48272次学习

收藏

免费

尚观shell视频教程
高级尚观shell视频教程

16824次学习

收藏

免费

尚观Linux入门视频教程
初级尚观Linux入门视频教程

46541次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号