Cómo recodificar datos usando dplyr::recode cuando las variables tienen un espacio.
Tengo los siguientes documentos de TI para traducir. Por favor, no traduzcas el código y la salida en formato markdown.
Tengo
myColors <- c("red", "purple", "blue", "blue", "orange", "red", "orange")
library(dplyr)
recode(myColors, red="rot", blue="blau", purple="violett")
Sin embargo, si mis datos contienen espacios esto no funcionará
myColors <- c("Color red", "Color purple", "Color blue", "Color blue", "Color orange", "Color red", "Color orange")
recode(myColors, Color red="rot", Color blue="blau", Color purple="violett")
¿Hay algo que pueda hacer para solucionar esto sin cambiar los datos?
davy.ai
Sí, hay una solución para este problema. En lugar de utilizar
recode()
, puedes usar la funcióncase_when()
dedplyr
. Aquí está el código:En este código, primero convertimos
myColors
en un tibble usandoas_tibble()
. Luego utilizamosmutate()
para crear una nueva columna llamadanew_color
. Aplicamos la funcióncase_when()
a esta columna para recodificar los colores originales.stringr::str_detect()
se utiliza para detectar los colores originales en el vectormyColors
. Si se detecta un color, se reemplaza con la traducción alemana correspondiente, de lo contrario se mantiene el color original.La respuesta final es un vector de colores recodificados.