我正在使用 car 包中的 recode() 函数来重新编码数据框中的整数类变量。我正在尝试将变量的一个值重新编码为包含单个撇号 (') 的字符串。但是,这不起作用。我想这是因为单个撇号过早地结束了分配。因此,我尝试使用 \' 退出该功能,但它也不起作用。
我更愿意继续使用 recode() 但如果这不是一个选项,欢迎使用替代方法。
一个工作示例:
# Load car() and dplyr()
library(car)
library(dplyr)
# Set up df
a <- seq(1:3)
b <- rep(9,3)
df <- cbind(a,b) %>% as.data.frame(.)
# Below works because none of the recoding includes an apostrophe:
recode(df$a, "1 = 'foo'; 2 = 'bar'; 3 = 'foobar'")
# Below doesn't work due to apostrophe in foofoo's:
recode(df$a, "1 = 'foo'; 2 = 'bar'; 3 = 'foofoo's'")
# Exiting doesn't fix it:
recode(df$a, "1 = 'foo'; 2 = 'bar'; 3 = 'foofoo\'s'")