Next: , Previous: Objects, Up: Top



4 有序因數和無序因數

因數(factor)是一個對同長的其他向量元素 進行分類(分組)的向量對象。 R 同時提供有序(ordered)和無序(unordered)因數。 而“真正”使用因數是在設計模型公式的時候 (see Contrasts),這裏我們只是看一些特別的例子。

4.1 一個特別的例子

假定我們有一份來自澳大利亞所有州和行政區30個稅務會計師資訊的 樣本1 以及他們各自所在地的州名。州名以字串向量的形式 保存在 state 中

     > state <- c("tas", "sa",  "qld", "nsw", "nsw", "nt",  "wa",  "wa",
                  "qld", "vic", "nsw", "vic", "qld", "qld", "sa",  "tas",
                  "sa",  "nt",  "wa",  "vic", "qld", "nsw", "nsw", "wa",
                  "sa",  "act", "nsw", "vic", "vic", "act")

注意在字元向量中,“有序”意味著 以字母排序的。

因數可以簡單地用函數 factor() 創建:

     > statef <- factor(state)

函數 print() 處理因數和其他物件 有點不同:

     > statef
      [1] tas sa  qld nsw nsw nt  wa  wa  qld vic nsw vic qld qld sa
     [16] tas sa  nt  wa  vic qld nsw nsw wa  sa  act nsw vic vic act
     Levels:  act nsw nt qld sa tas vic wa

函數 levels() 可以用來得到因數 的水準(levels)。

     > levels(statef)
     [1] "act" "nsw" "nt"  "qld" "sa"  "tas" "vic" "wa"

Footnotes

[1] 讀者注意一下, 澳大利亞有8個州和行政區,分別是 Australian Capital Territory, New South Wales, the Northern Territory, Queensland, South Australia, Tasmania, Victoria 和 Western Australia。