现假定有数据框df
,如下所示:
1. 我们想把B
列的4、5、6
全部替换为Active
,B
列其他数字全部替换为repressed
,则可以使用如下命令:
library(dplyr)
df <- data.frame(A = rep(1:5,2), B = rep(4:8,2), C = rep(11:15,2))
df=df %>% mutate(B=case_when(B == "4" ~ "Active",
B == "5" ~ "Active",
B == "6" ~ "Active",
B == "7" ~ "repressed",
B == "8" ~ "repressed",
TRUE ~ NA_character_))
效果如下:
2. 如果不想在原先列的基础上修改,则可以使用如下命令:
library(dplyr)
df <- data.frame(A = rep(1:5,2), B = rep(4:8,2), C = rep(11:15,2))
df=df %>% mutate(change_group = if_else(B == "4" | B == "5"| B == "6",true = "Active",false = "repressed"))
效果如下: