当变量具有 space 时如何使用 dplyr::recode 重新编码数据

How to recode data using dplyr::recode when variables have a space

我有

myColors <- c("red", "purple", "blue", "blue", "orange", "red", "orange")
library(dplyr)
recode(myColors, red="rot", blue="blau", purple="violett")

但是,如果我的数据中有空格,则此方法无效

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")

除了更改数据之外,我还能做些什么来解决这个问题?

如果您的类别有 space 或 ...,您必须将它们用引号或反引号括起来:

myColors <- c("Color red", "Color purple", "Color blue", "Color blue", "Color orange", "Color red", "Color orange")

dplyr::recode(myColors, "Color red" = "rot", `Color blue` = "blau", "Color purple" = "violett")
#> [1] "rot"          "violett"      "blau"         "blau"         "Color orange"
#> [6] "rot"          "Color orange"