创建列表
本课属于 Coddy R 学习旅程的“基础知识”单元。第 71 课,共 78 课。
向量功能强大,但有一个限制:所有元素都必须是同一种类型。当你需要将不同类型的数据存放在一起时,R 提供了列表。
列表是一种灵活的数据结构,可以存储不同类型的元素,包括数字、字符、逻辑值,甚至其他向量或列表。你可以使用 list() 函数创建列表:
my_list <- list(42, "hello", TRUE)
print(my_list)输出:
[[1]]
[1] 42
[[2]]
[1] "hello"
[[3]]
[1] TRUE注意,每个元素都会显示在双方括号中的索引旁边。这与向量不同,向量中的元素会显示在同一行上。列表也可以将向量作为元素:
my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)输出:
[[1]]
[1] 1 2 3
[[2]]
[1] "text"
[[3]]
[1] TRUE FALSE这种混合不同数据类型的能力,让列表非常适合表示复杂的数据结构,例如在一个对象中同时包含某人的年龄、姓名和会员状态。
挑战
简单你将收到三行输入:
- 一个数值(例如,
99.99) - 一个文本值(例如,
Premium Member) - 一个以文本形式表示的逻辑值:
TRUE或FALSE(例如,TRUE)
执行以下操作:
- 读取这三个输入,并将它们转换为相应的类型(数值、字符和逻辑值)
- 创建一个包含这三个值的列表,顺序如下:先是数值,然后是文本,最后是逻辑值
- 创建第二个列表,其中第一个元素是由三个数字组成的向量
c(10, 20, 30),第二个元素是文本"data" - 打印第一个列表
- 打印第二个列表
例如,如果输入为:
42.5
Active User
FALSE输出应为:
[[1]]
[1] 42.5
[[2]]
[1] "Active User"
[[3]]
[1] FALSE
[[1]]
[1] 10 20 30
[[2]]
[1] "data"请记住,列表可以包含不同类型的元素,你也可以将向量作为列表元素。
亲手试试
# 读取三个输入
con <- file("stdin", "r")
numeric_input <- suppressWarnings(readLines(con, n = 1))
text_input <- suppressWarnings(readLines(con, n = 1))
logical_input <- suppressWarnings(readLines(con, n = 1))
# TODO: 在下方编写你的代码
# 1. 将输入转换为对应的数据类型(数值型、字符型、逻辑型)
# 2. 创建一个列表,按顺序放入这三个转换后的值
# 3. 创建第二个列表,第一个元素为 c(10, 20, 30),第二个元素为 "data"
# 4. 打印这两个列表这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: R 在线编译器