如何使条件替换在 R 中更有效?
How to make conditional replacement more efficient in R?
我使用 case_when
将多个变量替换为新变量,但我注意到有很多重复代码,我想知道是否有更有效的方法来执行此操作。
基本上我想避免每次都写 col_a == ""
tt <- df1%>%
mutate(col_a = case_when(
col_a == "GK" ~ "Goalkeeper",
col_a == "RB" |
col_a == "LB" |
col_a == "RWB" |
col_a == "LWB" ~ "Side Back",
col_a == "LCB" |
col_a == "CB"|
col_a == "RCB" ~ "C Defender",
TRUE ~ col_a))
谢谢,
使用%in%
-
library(dplyr)
tt <- df1%>%
mutate(col_a = case_when(
col_a == "GK" ~ "Goalkeeper",
col_a %in% c("RB","LB","RWB","LWB") ~ "Side Back",
col_a %in% c("LCB", "CB", "RCB") ~ "C Defender",
TRUE ~ col_a))
我使用 case_when
将多个变量替换为新变量,但我注意到有很多重复代码,我想知道是否有更有效的方法来执行此操作。
基本上我想避免每次都写 col_a == ""
tt <- df1%>%
mutate(col_a = case_when(
col_a == "GK" ~ "Goalkeeper",
col_a == "RB" |
col_a == "LB" |
col_a == "RWB" |
col_a == "LWB" ~ "Side Back",
col_a == "LCB" |
col_a == "CB"|
col_a == "RCB" ~ "C Defender",
TRUE ~ col_a))
谢谢,
使用%in%
-
library(dplyr)
tt <- df1%>%
mutate(col_a = case_when(
col_a == "GK" ~ "Goalkeeper",
col_a %in% c("RB","LB","RWB","LWB") ~ "Side Back",
col_a %in% c("LCB", "CB", "RCB") ~ "C Defender",
TRUE ~ col_a))