开始使用免费开始使用

因子水平

当你第一次拿到一个数据集时,经常会发现其中包含带有特定水平的因子。不过,有时为了让数据更加清晰,或者出于其他原因,你可能想要修改这些水平的名称。R 可以通过 levels() 函数来完成这一点:

levels(factor_vector) <- c("name1", "name2",...)

一个很好的例子是调查问卷提供的原始数据。几乎每份问卷都会询问受访者的性别。这里为简单起见,只记录了两个类别,"M""F"。(实际的调查数据通常需要更多类别;无论何种情况,你都可以用因子来存储这类分类数据。)

survey_vector <- c("M", "F", "F", "M", "M")

如果你用纸笔收集数据,那用 "M""F" 的缩写记录性别可能很方便,但在分析数据时可能会造成混淆。这时,为了让数据更加清晰,你通常会希望把因子水平从 "Male""Female" 改成更清晰的 "M""F"

注意:为因子水平赋值时,顺序非常重要。如果输入 levels(factor_survey_vector),会看到输出结果为 [1] "F" "M"。如果在创建向量时没有指定因子的水平,R 会按字母顺序自动分配水平。为了正确地将 "F" 对应到 "Female",把 "M"对应到 "Male",因子水平必须按以下顺序设置:c("Female", "Male")

本练习是课程的一部分

R 语言入门

查看课程

练习说明

  • 查看用于根据 survey_vector 创建因子向量的代码。接下来需要使用 factor_survey_vector
  • factor_survey_vector 的因子水平修改为 c("Female", "Male")。请注意这里向量中各元素的顺序。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)

# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <-

factor_survey_vector
编辑并运行代码