Menu
CoddyTech

dplyr 入门

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

dplyr 包是用于在 R 中操作数据的强大工具。它提供了一组函数,让你能够轻松高效地转换和分析数据框。本课将重点介绍三个重要函数:select()、filter() 和 mutate()。

加载 dplyr

下面是加载这个包的示例:

# 加载 dplyr
library(dplyr)

select() 函数

select() 函数可以让你从数据框中选择特定的列:

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

# 选择指定的列
result <- select(df, name, age)
print(result)

输出:

  name    age
1 Alice   25
2 Bob     30
3 Charlie 35

filter() 函数

filter() 函数可以根据特定条件筛选行:

# 筛选 age 大于 28 的行
result <- filter(df, age > 28)
print(result)

输出:

  name     age city
1 Bob      30  London
2 Charlie  35  Paris

mutate() 函数

mutate() 函数可以让你创建新列或修改现有列:

# 添加一个新列 'age_group'
result <- mutate(df, age_group = ifelse(age < 30, "Young", "Adult"))
print(result)

输出:

    name age    city age_group
1  Alice  25 New York     Young
2    Bob  30   London     Adult
3 Charlie  35    Paris     Adult

管道运算符 %>%

dplyr 引入了管道运算符 %>%,可以让你将多个操作串联起来:

result <- df %>%
  filter(age > 28) %>%
  select(name, city) %>%
  mutate(location = paste(name, "lives in", city))
quiz icon自我测试

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

quiz icon自我测试

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

quiz icon自我测试

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

challenge icon

挑战

简单

使用 dplyr 函数处理员工信息数据框。执行以下操作:

  1. 仅选择 "name"、"age" 和 "salary" 列
  2. 筛选数据,只保留年龄在 30 岁及以上的员工
  3. 添加名为 "bonus" 的新列,年龄在 40 岁及以上的员工,其值为工资的 10%,其他员工为工资的 5%
  4. 按工资降序排列数据框
  5. 打印处理后的数据框。

亲手试试

# 加载所需的库
suppressPackageStartupMessages(library(dplyr))

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

# 根据输入创建数据框
df <- read.csv(text = input_data, stringsAsFactors = FALSE)

# TODO: 在下方编写代码,处理数据框
process_employee_data <- function(df) {
  # 在这里编写你的代码
  # 使用 dplyr 函数完成以下操作:
  # 1. 选择列
  # 2. 筛选数据
  # 3. 添加奖金列
  # 4. 按薪资排序
  
  return(df)  # 将其替换为你处理后的数据框
}

# 处理数据框
result <- process_employee_data(df)

# 打印结果
print(result)

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

自己练习: R 在线编译器