R 函数学习 - case_when()
2020-03-28 本文已影响0人
Thinkando
多条件判断函数
场景:前面使用if_else函数新增条件列,但是有时候判断的条件不止一个,则需要使用多条件判断函数case_when
。
> library('dplyr')
> library('stringr')
> df <- data.frame(a = 5:1, b = letters[5:1], c = LETTERS[1:5])
> df
a b c
1 5 e A
2 4 d B
3 3 c C
4 2 b D
5 1 a E
> df <- df %>% mutate(
+ d = case_when(b == "a" ~ "AA", b == "b" ~ "BB", b == "c" ~ "CC",
+ TRUE ~ str_to_upper(b)
+ )
+ )
> df
a b c d
1 5 e A E
2 4 d B D
3 3 c C CC
4 2 b D BB
5 1 a E AA