我有一个R脚本有时可以工作,有时却没有,我已经确定问题与我的角色有关 - >在将两个数据集合并在一起之前的因子转换。
我有数据2中数据1和'01','02','03'等编码为'1','2','3'等的主题列表,我想要重新编码data1中的参与者号码以匹配data2。我首先尝试将data1 $ subj转换为一个因子,然后使用forcats中的fct_recode重新编码数据。以下两个选项都不起作用:
library(forcats)
data1$subj <- as.factor(data1$subj)
data1 <- data1 %>%
mutate(subj = fct_recode(subj,
"01" = "1",
"02" = "2",
"03" = "3"))
或
data1 <- data1 %>%
mutate(subj = factor(subj),
subj = fct_recode(subj,
"01" = "1",
"02" = "2",
"03" = "3"))
当我返回data1检查subj时,它始终作为字符变量保留,因此数据不会重新编码。
正如我上面所说,有时候它会起作用,有时却不行!我的代码中显然遗漏了一些细微差别。任何建议都非常感谢!
答案 0 :(得分:0)
我不熟悉库forcats
。不过我会尝试
levels(data1$subj)[levels(data1$subj)=="01"] <- "1"
[etc.]
OR:
library(plyr)
revalue(data1$subj , c("01"="1", "02"="2","03"="3"))