從零開始重建因子

問題

因子用於表示從一組類別中獲取值的變數,稱為 R 中的級別。例如,某些實驗可以通過電池的能級來表徵,具有四個級別:空,低,正常和滿。然後,對於 5 個不同的取樣點,可以用這些術語確定這些水平如下:

滿滿正常

通常,在資料庫或其他資訊源中,這些資料的處理是通過與類別或級別相關聯的任意整數索引。如果我們假設,對於給定的例子,我們將分配索引如下:1 =空,2 =低,3 =正常,4 =滿,那麼 5 個樣本可以編碼為:

44312

可能會發生這種情況,從你的資訊源(例如資料庫),你只有編碼的整數列表,以及將每個整數與每個級別關鍵字相關聯的目錄。如何從該資訊重建 R 因子?

我們將模擬一個代表樣本的 20 個整數的向量,每個樣本可能有四個不同的值之一:

set.seed(18)
ii <- sample(1:4, 20, replace=T)
ii

[1] 4 3 4 1 1 3 2 3 2 1 3 4 1 2 4 1 3 1 4 1

第一步是從前一個序列中建立一個因子,其中級別或類別正好是從 1 到 4 的數字。

fii <- factor(ii, levels=1:4) # it is necessary to indicate the numeric levels
fii

[1] 4 3 4 1 1 3 2 3 2 1 3 4 1 2 4 1 3 1 4 1
級別:1 2 3 4

現在簡單地說,你必須穿上已經用索引標籤建立的因子:

levels(fii) <- c("empty", "low", "normal", "full")
fii

[1]滿正常全空空正常低正常低空
[11]正常滿空低滿空正常空滿空
級別:空低正常滿