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 35filter() 函数
filter() 函数可以根据特定条件筛选行:
# 筛选 age 大于 28 的行
result <- filter(df, age > 28)
print(result)输出:
name age city
1 Bob 30 London
2 Charlie 35 Parismutate() 函数
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))这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单使用 dplyr 函数处理员工信息数据框。执行以下操作:
- 仅选择 "name"、"age" 和 "salary" 列
- 筛选数据,只保留年龄在 30 岁及以上的员工
- 添加名为 "bonus" 的新列,年龄在 40 岁及以上的员工,其值为工资的 10%,其他员工为工资的 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 在线编译器