使用case_when函数可以根据条件列表返回相互包含的结果。case_when函数是一种条件语句,可以根据多个条件进行判断,并返回相应的结果。
在R语言中,case_when函数的语法如下:
case_when(
条件1 ~ 结果1,
条件2 ~ 结果2,
...
TRUE ~ 默认结果
)
其中,条件可以是任何逻辑表达式,结果可以是任何数据类型。case_when函数会按照条件的顺序进行判断,返回第一个满足条件的结果。如果没有条件满足,则返回默认结果。
使用case_when函数的优势是可以简化复杂的条件判断逻辑,提高代码的可读性和可维护性。
案例场景: 假设我们有一个学生成绩表,需要根据学生成绩的分数判断其等级。分数在90以上为优秀,80-89为良好,70-79为中等,60-69为及格,60以下为不及格。
可以使用case_when函数来实现:
library(dplyr)
grades <- data.frame(
student = c("Alice", "Bob", "Charlie", "David"),
score = c(85, 92, 78, 65)
)
grades <- grades %>%
mutate(grade = case_when(
score >= 90 ~ "优秀",
score >= 80 ~ "良好",
score >= 70 ~ "中等",
score >= 60 ~ "及格",
TRUE ~ "不及格"
))
print(grades)
输出结果:
student score grade
1 Alice 85 良好
2 Bob 92 优秀
3 Charlie 78 中等
4 David 65 及格
在这个案例中,我们使用case_when函数根据学生成绩的分数判断其等级,并将结果添加到grades数据框中的新列grade中。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云