Menu
CoddyTech

理解数据结构

Coddy R 中的数据处理 课程的第 1 课,共 14 课。

在 R 中,数据结构是组织和处理数据的基础。让我们来了解三种基本数据结构:向量、矩阵和数据框。

1. 向量

向量是一维数组,可以存储相同数据类型的元素。


# 创建数值向量
numbers <- c(1, 2, 3, 4, 5)

# 创建字符向量
fruits <- c("apple", "banana", "cherry")

# 访问元素
print(numbers[2])  # 输出:2
print(fruits[1:2])  # 输出:"apple" "banana"

2. 矩阵

矩阵是由行和列组成的二维数组,其中的元素具有相同的数据类型。


# 创建矩阵
mat <- matrix(1:6, nrow = 2, ncol = 3)

# 访问元素
print(mat[1, 2])  # 返回第 1 行第 2 列的元素(输出:3)
print(mat[, 1])   # 将第 1 列作为向量返回(输出:1 2)

3. 数据框

数据框是类似表格的结构,每列可以存储不同数据类型的数据。


# 创建数据框
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35),
  city = c("New York", "London", "Paris")
)

# 访问元素
print(df$name)        # 返回名为 "name" 的列(输出:"Alice" "Bob" "Charlie")
print(df[2, "age"])   # 输出:30
quiz icon自我测试

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

quiz icon自我测试

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

quiz icon自我测试

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

challenge icon

挑战

简单

对数据框执行以下操作:

  1. 添加一个名为 "height_m" 的新列,将身高从厘米转换为米
  2. 计算并打印平均年龄
  3. 打印最高的人的姓名(以米为单位)

亲手试试

# 读取输入
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con, n = 3))

# 处理输入数据
data_list <- strsplit(input_data, ",")
names <- sapply(data_list, function(x) x[1])
ages <- as.numeric(sapply(data_list, function(x) x[2]))
heights <- as.numeric(sapply(data_list, function(x) x[3]))

# 创建初始数据框
df <- data.frame(
  name = names,
  age = ages,
  height = heights
)

# TODO:在下方编写你的代码
# 1. 添加新列 'height_m'
# 2. 计算并打印平均年龄
# 3. 打印身高最高的人的姓名(身高以米为单位)

# 输出占位代码
cat("Average age:", avg_age, "\n")
cat("Tallest person:", tallest_person)

R 中的数据处理中的所有课

自己练习: R 在线编译器