開始使用免費開始

因子層級

當你第一次拿到一個資料集時,常會發現其中包含具有特定層級的因子。不過,有時你會想為了更清楚或其他理由,調整這些層級的名稱。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
編輯並執行程式碼