factor class操作の役に立つパッケージの紹介です。意外と便利なパッケージだと思います。
パッケージバージョンは1.0.0。windows 10のR version 3.3.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("lfactors")
実行コマンド
詳細はコマンド、パッケージのヘルプを確認してください。
#パッケージの読み込み library("lfactors") #lfactor classの作成:lfactorコマンド #データを指定:xオプション #levelsを設定:levelsオプション #labelsを設定:labelsオプション LFactData <- lfactor(x = sample(1:12, 30, replace = TRUE), levels = 1:12, labels = paste0("Data", 1:12)) #内容確認 LFactData [1] Data11 Data9 Data6 Data3 Data9 Data9 Data5 Data3 Data12 Data4 [11] Data10 Data12 Data2 Data4 Data2 Data7 Data7 Data1 Data1 Data11 [21] Data9 Data2 Data12 Data3 Data2 Data2 Data10 Data6 Data6 Data10 12 Levels: Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ... Data12 Numeric levels: 1 2 3 4 5 6 7 8 9 10 11 12 #classの確認 class(LFactData) [1] "lfactor" "factor" ###データ操作例##### #ラベルでデータを抽出 #factor classでも同じ操作が可能 #位置を確認 LFactData == "Data4" [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE [13] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [25] FALSE FALSE FALSE FALSE FALSE FALSE #個数を確認 sum(LFactData == "Data4") [1] 2 #抽出 LFactData[LFactData == "Data4"] [1] Data4 Data4 12 Levels: Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ... Data12 Numeric levels: 1 2 3 4 5 6 7 8 9 10 11 12 #Numeric levelsで抽出 #factor classでは工夫が必要 LFactData == 2 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [13] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE [25] TRUE TRUE FALSE FALSE FALSE FALSE #抽出 LFactData[LFactData == 2] [1] Data2 Data2 Data2 Data2 Data2 12 Levels: Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ... Data12 Numeric levels: 1 2 3 4 5 6 7 8 9 10 11 12 #演算子が可能 LFactData[LFactData > 3] [1] Data11 Data9 Data6 Data9 Data9 Data5 Data12 Data4 Data10 Data12 [11] Data4 Data7 Data7 Data11 Data9 Data12 Data10 Data6 Data6 Data10 12 Levels: Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ... Data12 Numeric levels: 1 2 3 4 5 6 7 8 9 10 11 12 #個数を確認 sum(LFactData > 3) [1] 20 #参考_factor classで演算子を使用して個数を確認 #as.numericコマンドを使用する FactData <- as.factor(LFactData) #classの確認 class(FactData) [1] "factor" #内容確認 FactData [1] Data11 Data9 Data6 Data3 Data9 Data9 Data5 Data3 Data12 Data4 [11] Data10 Data12 Data2 Data4 Data2 Data7 Data7 Data1 Data1 Data11 [21] Data9 Data2 Data12 Data3 Data2 Data2 Data10 Data6 Data6 Data10 12 Levels: Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ... Data12 #個数を確認 sum(as.numeric(FactData) > 3) [1] 20
少しでも、あなたの解析が楽になりますように!!