我刚开始学习R并且一直试图将因子和水平用于分类数据。
一个简单的例子:
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
levels(factor_survey_vector) <- c("Female", "Male")
factor_survey_vector
这很好用,我得到的输出为:
[1] Male Female Female Male Male
Levels: Female Male
但是,这里我必须按排序顺序指定级别,我希望它更明确。我试过像:
levels(factor_survey_vector) <- c(M="Male", F="Female")
但是,这不能按预期工作。
答案 0 :(得分:4)
从?levels
开始,重点是粗体:
用法
levels(x)
<强>
levels(x) <- value
强>参数
x
一个对象,例如一个因子。
value
有效值levels(x)
。对于默认方法,NULL
或字符向量。为了 factor方法,一个字符串向量,长度至少为 指定如何重命名的x
,或命名list
的级别数 水平强>
在示例中有一个示例用法:
## same, using a named list
z <- gl(3, 2, 12)
levels(z) <- list(A = c(1,3), B = 2)
z
作为评论,我误读了它并以错误的方式接受了它,新的级别名称是作业的左侧部分,文档对此没有任何含糊之处。
所以为了实现这个问题的目标,这就是诀窍:
levels(factor_survey_vector) <- list(Male="M",Female="F")