Rで解析:欠損値の補完操作が楽々です。「ForImp」パッケージ
データへ欠損値をランダムに代入、欠損値にデータの中央値や平均値を代入、そしてデータの欠損値情報を表示するコマンドが収録されたパッケージの紹介です。
バージョンは1.0.3。実行コマンドはR version 3.2.2で確認しています。
<おすすめのRに関する書籍です>
Rクックブック 第2版 | J.D.Long, Paul Teetor, 大橋真也
「これをやりたい」から引ける約300本のレシピ集。手元に置いて困ったときに開く、リファレンス的な使い方が合う一冊。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
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
少しでも、あなたのウェブや実験の解析が楽になりますように!!
スポンサーリンク