Rで解析:欠損値の補完操作が楽々です。「ForImp」パッケージ


データへ欠損値をランダムに代入、欠損値にデータの中央値や平均値を代入、そしてデータの欠損値情報を表示するコマンドが収録されたパッケージの紹介です。

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


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

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

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

実行コマンド

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

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

###データ例の作成####
TestData <- matrix(1:50, 10, 5)

#データ内容の確認
TestData
     [,1] [,2] [,3] [,4] [,5]
[1,]    1   11   21   31   41
[2,]    2   12   22   32   42
[3,]    3   13   23   33   43
[4,]    4   14   24   34   44
[5,]    5   15   25   35   45
[6,]    6   16   26   36   46
[7,]    7   17   27   37   47
[8,]    8   18   28   38   48
[9,]    9   19   29   39   49
[10,]   10   20   30   40   50
########

#ランダムに欠損値を代入:missingmat2コマンド
#代入するNA値の数:missingオプション
MissData <- missingmat2(TestData, missing = 10)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1   11   21   NA   41
[2,]    2   12   22   32   NA
[3,]    3   NA   23   33   43
[4,]    4   14   NA   34   44
[5,]    5   15   NA   35   45
[6,]    6   16   26   36   NA
[7,]    7   17   NA   37   47
[8,]   NA   18   28   38   48
[9,]    9   19   29   NA   49
[10,]   10   20   NA   40   50

#データの欠損値情報を表示:missingnessコマンド
missingness(MissData)
$number_of_missing_values
[1] 10
$missing_values_per_unit
1 
10 
$missing_values_per_variable
[1] 1 1 4 2 2

#NA値に各列データの中央値を代入:medianimpコマンド
medianimp(MissData)
   [,1] [,2] [,3] [,4] [,5]
[1,]    1   11   21   35   41
[2,]    2   12   22   32   45
[3,]    3   16   23   33   43
[4,]    4   14   23   34   44
[5,]    5   15   23   35   45
[6,]    6   16   26   36   45
[7,]    7   17   23   37   47
[8,]    5   18   28   38   48
[9,]    9   19   29   35   49
[10,]   10   20   23   40   50

#NA値に各列データの平均値を代入:medianimpコマンド
meanimp(MissData)
     [,1]     [,2]     [,3]   [,4]   [,5]
[1,]  1.000000 11.00000 21.00000 35.625 41.000
[2,]  2.000000 12.00000 22.00000 32.000 45.875
[3,]  3.000000 15.77778 23.00000 33.000 43.000
[4,]  4.000000 14.00000 24.83333 34.000 44.000
[5,]  5.000000 15.00000 24.83333 35.000 45.000
[6,]  6.000000 16.00000 26.00000 36.000 45.875
[7,]  7.000000 17.00000 24.83333 37.000 47.000
[8,]  5.222222 18.00000 28.00000 38.000 48.000
[9,]  9.000000 19.00000 29.00000 35.625 49.000
[10,] 10.000000 20.00000 24.83333 40.000 50.000

#マトリックスを指定した値を代入:transfmatcatコマンド
transfmatcat(TestData, cat = c(2,5))
   [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    1
[2,]    1    1    1    1    1
[3,]    1    2    1    2    1
[4,]    1    2    1    2    1
[5,]    1    3    1    3    1
[6,]    2    3    2    3    2
[7,]    2    4    2    4    2
[8,]    2    4    2    4    2
[9,]    2    5    2    5    2
[10,]   2    5    2    5    2

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク