R ifelse错误地用整数替换文本

时间:2015-08-11 20:37:35

标签: r

我有一些与Udacity课程合作的数据(链接:Reddit Survey Responses)。我试图通过使用

替换单个单词替换任何多字值来简化就业状态变量
RS$employment.status <- ifelse(RS$employment.status == "Not employed,  but looking for work",
                               "Unemployed", RS$employment.status)

但是,当我运行代码时,任何不应该被替换的值都会被替换为数值。鉴于其他情况是使用字段的值,我不确定为什么文本不会按原样保存。

这是初始数据的屏幕截图 enter image description here

之后 enter image description here

所以如果有人能指出

  1. 为什么在它看起来不应该被替换的时候进行替换;
  2. 完成我想要实现的目标的正确方法是什么;
  3. 非常感谢。

1 个答案:

答案 0 :(得分:6)

问题在于此变量被设置为因子,因此要解决您的问题,您可以在读取数据 stringsAsFactors = FALSE 时添加此参数,或者您可以执行此操作:

  RS$employment.status <- ifelse(RS$employment.status == "Not employed, but looking for work", 
"Unemployed", as.character(RS$employment.status))