case_when 函数是 dplyr 包提供的一种用于多条件条件语句的函数,它的作用类似于传统编程语言中的 switch 或 ifelse 语句。case_when 用于根据一系列条件进行值的选择或替代。
下面是 case_when 函数的基本结构:
xcase_when( condition1 ~ result1, condition2 ~ result2, ... TRUE ~ default_result)
condition1, condition2, ...:条件表达式,可以是任何返回逻辑值(TRUE 或 FALSE)的表达式。
result1, result2, ...:与相应条件匹配时返回的结果。
TRUE ~ default_result:默认情况下的结果,如果没有条件匹配,则返回 default_result。
case_when 会逐个检查条件,返回第一个满足条件的结果。如果没有条件满足,就返回默认结果。
以下是一个简单的例子,说明了 case_when 的用法:
xxxxxxxxxxlibrary(dplyr)
data <- data.frame(score = c(80, 65, 90, 75, 88))
result <- data %>% mutate(grade = case_when( score >= 90 ~ "A", score >= 80 ~ "B", score >= 70 ~ "C", TRUE ~ "D" ))在这个例子中,根据不同的分数范围,使用 case_when 来赋予不同的等级(A、B、C、D)。如果分数不符合任何条件,就返回默认值 "D"。