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

JMi*_*ael 2 r

我有一些我正在使用Udacity课程的数据(Link:Reddit Survey Responses).我正在尝试通过使用单个单词替换替换任何多字值来简化"就业状态"变量

RS$employment.status <- ifelse(RS$employment.status == "Not employed,  but looking for work",
                               "Unemployed", RS$employment.status)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,任何不应替换的都将替换为数值.鉴于else的情况是使用字段的值,我不确定为什么文本没有按原样保留.

这是初始数据的屏幕截图 在此输入图像描述

而后 在此输入图像描述

所以,如果有人能指出

  1. 为什么当它看起来不应该是替换时;
  2. 什么是完成我想要实现的目标的正确方法;

非常感谢.

小智 6

问题是这个变量被设置为一个因子,所以为了解决你的问题,你可以在读取数据字符串时添加这个参数AsFactors = FALSE,或者你可以这样做:

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