R语言case_when
时间: 2023-11-15 19:02:40 浏览: 220
R语言中的`case_when`函数是`dplyr`包中的一个函数,它可以用于根据一系列条件对变量进行分类。`case_when`函数的语法类似于`ifelse`函数,但是它可以处理更复杂的条件。`case_when`函数的基本语法如下:
```
case_when(
条件1 ~ 结果1,
条件2 ~ 结果2,
...
)
```
其中,`条件`可以是任何逻辑表达式,`结果`可以是任何R对象。`case_when`函数会按照条件的顺序依次检查每个条件,如果条件为`TRUE`,则返回对应的结果。如果所有条件都不满足,则返回`NA`。`case_when`函数可以嵌套使用,也可以和其他函数一起使用,例如`mutate`函数。
下面是一些例子:
```
# 根据身高和体重判断人的类型
case_when(
height > 200 | mass > 200 ~ "large",
species == "Droid" ~ "robot",
TRUE ~ "other"
)
# 根据数字判断fizz buzz
x <- 1:50
case_when(
x %% 35 == 0 ~ "fizz buzz",
x %% 5 == 0 ~ "fizz",
x %% 7 == 0 ~ "buzz",
TRUE ~ as.character(x)
)
# 使用case_when和mutate对星球大战人物进行分类
starwars %>%
select(name:mass, gender, species) %>%
mutate(
type = case_when(
height > 200 | mass > 200 ~ "large",
species == "Droid" ~ "robot",
TRUE ~ "other"
)
)
```
阅读全文