如何使用“意外符号”错误重新编码R中的字符变量

时间:2016-03-15 20:07:43

标签: r r-car

我想将数据从字符重新编码为数字。这是我失败的尝试:

library(car) # needed for recode
survey1$V16a = recode(survey1$V16, "'Very important'=1; 'Fairly important'=2; 'Not very important'=3; 'Not important at all'=4; 'Can't choose'=99;", as.numeric.result=TRUE)

这是我随后收到的错误消息

  

重新编码错误(survey1 $ V16,“非常重要'= 1;'非常重要'= 2;'不是很重要'= 3;'根本不重要'= 4;'不能选择'= 99;“,:

     <\ n>在重新编码术语中:'无法选择'= 99     message:解析时出错(text = strsplit(term,“=”)[[1]] [1]):     :1:7:意外的符号   1:'不能

1 个答案:

答案 0 :(得分:0)

没有必要为此使用额外的包,例如car。在我看来,它也使代码的可读性降低。只需使用ifelse

survey1$V16a <- ifelse(survey1$V16a == "Very important", 1, 
                ifelse(survey1$V16a == "Fairly important", 2,
                ifelse(survey1$V16a == "Not very important", 3,
                .... )))))