R中的因素 - 当我设置级别时,一个因子被重新编码为NA

时间:2013-11-14 20:56:27

标签: r

我有一个变量(x)有4个级别 - “从不”,“每月1-2次”,“每周1-3次”和“每天”。当我尝试使用

订购水平时
x <- factor (x, levels=c ("Never", "1-2 times a month", "1-3 times a week", "Everyday"))

由于某种原因,它将“Everyday”重新编码为NA,并在我计算时变为0。我已经尝试将它作为第一级或第二级,并且它做同样的事情。当我试图制作虚拟数据时,它工作正常,所以我不能举一个例子。我使用完全相同的代码与Likert变量,它工作正常。

2 个答案:

答案 0 :(得分:2)

正如评论家指出的那样,可能是因为某处的拼写错误。通过以数字方式重新排序因子的级别,我们可以方便地完全消除这个错误来源:

例如,如果您的等级反转,您可以写:

x <- factor(x, levels=levels(x)[c(4,3,2,1)])

答案 1 :(得分:1)

问题是原始数据文件中的尾随空格。标签是“Everyday”,而不是“Everyday”。使用唯一(x)我能够看到问题所在。当我将它转换为运行唯一(x)函数的角色时,我才能看到问题。