Menu
CoddyTech

创建列表

本课属于 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

这种混合不同数据类型的能力,让列表非常适合表示复杂的数据结构,例如在一个对象中同时包含某人的年龄、姓名和会员状态。

challenge icon

挑战

简单

你将收到三行输入:

  1. 一个数值(例如,99.99)
  2. 一个文本值(例如,Premium Member)
  3. 一个以文本形式表示的逻辑值:TRUE 或 FALSE(例如,TRUE)

执行以下操作:

  1. 读取这三个输入,并将它们转换为相应的类型(数值、字符和逻辑值)
  2. 创建一个包含这三个值的列表,顺序如下:先是数值,然后是文本,最后是逻辑值
  3. 创建第二个列表,其中第一个元素是由三个数字组成的向量 c(10, 20, 30),第二个元素是文本 "data"
  4. 打印第一个列表
  5. 打印第二个列表

例如,如果输入为:

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. 打印这两个列表
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: R 在线编译器