Rで解析:欠損値の補完方法の一つです。「imputeMissings」パッケージ


欠損値をデータの中央値もしくはランダムフォレスト法による予測値により補完するパッケージです。データの欠損値を補完する方法の一つになるのではないでしょうか。

バージョンは0.0.1。実行コマンドはR version 3.2.2で確認しています。


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

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

#パッケージのインストール
install.packages("imputeMissings")

実行コマンド

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

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

###データ例の作成#####
set.seed(1234)
n <- 10
TestData <- data.frame(Group = sample(c("Gloup1", "Gloup2", NA), n, replace = TRUE),
                       Data1 = sample(c(3:10,NA), n, replace = TRUE),
                       Data2 = as.numeric(sample(c(3:10,NA), n, replace = TRUE)),
                       Data3 = as.numeric(sample(c(3:10,NA), n, replace = TRUE)))
#内容の確認
TestData
    Group Data1 Data2 Data3
1  Gloup2     5     4     9
2    <NA>     3     3     3
3  Gloup2     3     6    NA
4  Gloup2     4    10    10
5  Gloup2     4    10     7
6    <NA>     5    NA     7
7  Gloup2    10     6     3
8  Gloup1     8    NA     8
9  Gloup1     4     8     3
10   <NA>     4     3     8

#構造の確認
str(TestData)
'data.frame':	10 obs. of  4 variables:
$ Group: Factor w/ 2 levels "Gloup1","Gloup2": 2 NA 2 2 2 NA 2 1 1 NA
$ Data1: int  5 3 3 4 4 5 10 8 4 4
$ Data2: num  4 3 6 10 10 NA 6 NA 8 3
$ Data3: num  9 3 NA 10 7 7 3 8 3 8
########

#NAへのデータ補完:imputコマンド
#補完方法の指定:methodオプション;"median/mode", "randomForest"が指定可能
#median/mode
impute(TestData, method = "median/mode")
    Group Data1 Data2 Data3
1  Gloup2     5     4     9
2  Gloup2     3     3     3
3  Gloup2     3     6     7
4  Gloup2     4    10    10
5  Gloup2     4    10     7
6  Gloup2     5     6     7
7  Gloup2    10     6     3
8  Gloup1     8     6     8
9  Gloup1     4     8     3
10 Gloup2     4     3     8

#randomForest
impute(TestData, method = "randomForest")
    Group Data1     Data2     Data3
1  Gloup2     5  4.000000  9.000000
2  Gloup2     3  3.000000  3.000000
3  Gloup2     3  6.000000  5.999041
4  Gloup2     4 10.000000 10.000000
5  Gloup2     4 10.000000  7.000000
6  Gloup2     5  6.144496  7.000000
7  Gloup2    10  6.000000  3.000000
8  Gloup1     8  6.126210  8.000000
9  Gloup1     4  8.000000  3.000000
10 Gloup2     4  3.000000  8.000000

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク