mutate
和 case_when
是 R 语言中 dplyr
包中的两个函数,用于数据框(data frame)的操作。
switch
或 if-else
语句。case_when
提供了一种清晰的方式来表达复杂的条件逻辑,使得代码更易读。dplyr
包集成:dplyr
包提供了许多用于数据操作的函数,mutate
和 case_when
是其中的两个重要函数,与其他 dplyr
函数(如 filter
、arrange
等)配合使用非常方便。mutate
和 case_when
可以处理数值、字符、逻辑等基本数据类型。假设我们有一个数据框 df
,包含以下列:age
(年龄)、gender
(性别)、income
(收入)。我们想创建一个新的变量 income_level
,根据收入水平进行分类。
library(dplyr)
# 创建示例数据框
df <- data.frame(
age = c(25, 35, 45, 55),
gender = c("M", "F", "M", "F"),
income = c(30000, 60000, 90000, 120000)
)
# 使用 mutate 和 case_when 创建新变量
df <- df %>%
mutate(income_level = case_when(
income < 50000 ~ "Low",
income >= 50000 & income < 100000 ~ "Medium",
income >= 100000 ~ "High"
))
# 查看结果
print(df)
case_when
中的条件逻辑正确无误。case_when
中的返回值类型应与目标列的数据类型一致。as.character()
、as.numeric()
等函数进行类型转换。data.table
等更高效的数据处理包。通过以上内容,你应该能够理解如何在 R 中使用 mutate
和 case_when
创建新变量,并解决可能遇到的问题。
Elastic 实战工作坊
Elastic 实战工作坊
云+社区技术沙龙[第27期]
腾讯数字政务云端系列直播
云+社区技术沙龙[第16期]
T-Day
云+社区开发者大会 武汉站
新知
高校公开课
领取专属 10元无门槛券
手把手带您无忧上云