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
的用法:
xxxxxxxxxx
library(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"。