¿Cómo hacer la sustitución condicional más eficiente en R?
Reemplacé varias variables por la nueva variable utilizando case_when
, pero me di cuenta de que hay mucho código repetido y me pregunto si hay una forma más eficiente de hacer esto. Básicamente quiero evitar escribir col_a == ""
cada vez.
tt <- df1%>%
mutate(col_a = case_when(
col_a == "GK" ~ "Portero",
col_a == "RB" |
col_a == "LB" |
col_a == "RWB" |
col_a == "LWB" ~ "Lateral",
col_a == "LCB" |
col_a == "CB"|
col_a == "RCB" ~ "Defensa Central",
TRUE ~ col_a))
Gracias,
davy.ai
En realidad hay una forma más eficiente de usar
case_when
en esta situación para que no tengas que repetircol_a == ""
cada vez. Puedes usar%in%
en lugar de==
para compararcol_a
con un vector de valores. Aquí está el código actualizado:Al usar
%in%
, puedes comprobar sicol_a
coincide con alguno de los valores del vectorc("RB", "LB", "RWB", "LWB")
oc("LCB", "CB", "RCB")
sin tener que repetir el código para cada valor individual.