在R因子中按键指定级别

时间:2015-09-01 13:20:04

标签: r

我刚开始学习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")

但是,这不能按预期工作。

1 个答案:

答案 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")