本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:連鎖ランダムフォレストで欠損値を代入「missRanger」パッケージ

連鎖ランダムフォレストで欠損値を代入する「missRanger」パッケージの紹介です。欠損値の作成、代入に便利なパッケージです。

パッケージバージョンは2.2.0。実行コマンドはR version 4.2.2で確認しています。

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("missRanger")
スポンサーリンク

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("missRanger")

###データ例の作成#####
set.seed(1234)
n <- 10
TestData <- data.frame(Group = sample(paste0("Group ", 1:2), n, replace = TRUE),
                       Time_1 = round(rnorm(n) - 1.5, 2),
                       Time_2 = round(rnorm(n), 2),
                       Time_3 = round(rnorm(n) - 1.5, 2))
TestData[1:4, 2:4] <- sample(1:2, 12, replace = TRUE)
########

#データに欠損値を代入する:generateNAコマンド
#データを指定:xオプション;vector,matrix,data.frameが指定可能
#列ごとの欠損値の代入確率:pオプション;0.1-1.0の範囲
#seedの固定:seedオプション
ResultData <- generateNA(x = TestData, p = 0.3, seed = 1234)

#実行結果
ResultData
#     Group Time_1 Time_2 Time_3
#1  Group 2   2.00   2.00   2.00
#2  Group 2   1.00     NA   1.00
#3  Group 2   1.00   2.00   1.00
#4  Group 2   1.00     NA   2.00
#5     <NA>     NA   2.42  -2.44
#6     <NA>     NA   0.13     NA
#7  Group 1  -2.50     NA     NA
#8  Group 1  -2.28  -0.44  -2.21
#9  Group 1     NA   0.46  -2.00
#10    <NA>  -0.54  -0.69     NA

#chained random forests法による欠損値への代入:missRangerコマンド
#オープンアクセス:https://doi.org/10.1093/bioinformatics/btr597
#オープンアクセス:http://www.jstatsoft.org/v45/i03/
#データを指定:dataオプション
#代入変数(左)~代入データ変数(右)で指定:formulaオプション
#例えばResultDataのGroupを除いて使用する場合は.~ -Groupになる
#予測平均マッチングを使用した欠損値への代入:pmm.kオプション;0で使用しない
#処理内容を表示:verboseオプション;0:非表示,1:プログレスバーを表示,
#2:反復と変数ごとにOOB予測誤差を表示
missRanger(data = ResultData,
           formula = .~. -Group, pmm.k = 3,
           num.trees = 100, verbose = 2)
#Missing value imputation by random forests
#Variables to impute:		Group, Time_1, Time_2, Time_3
#Variables used to impute:	Time_1, Time_2, Time_3
#Group	Time_1	Time_2	Time_3
#iter 1:	1.0000 	1.0000 	0.9862 	1.6359 	
#
#     Group Time_1 Time_2 Time_3
#1  Group 2   2.00   2.00   2.00
#2  Group 2   1.00   2.42   1.00
#3  Group 2   1.00   2.00   1.00
#4  Group 2   1.00  -0.69   2.00
#5  Group 2   2.00   2.42  -2.44
#6  Group 2   2.00   0.13   1.00
#7  Group 1  -2.50  -0.44   2.00
#8  Group 1  -2.28  -0.44  -2.21
#9  Group 1   1.00   0.46  -2.00
#10 Group 2  -0.54  -0.69  -2.21

少しでも、あなたの解析が楽になりますように!!

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.