データへ欠損値をランダムに代入、欠損値にデータの中央値や平均値を代入、そしてデータの欠損値情報を表示するコマンドが収録されたパッケージの紹介です。
バージョンは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 [/code] <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-format="fluid" data-ad-layout="in-article" data-ad-client="ca-pub-2892542339637017" data-ad-slot="4852897046"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> #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
少しでも、あなたのウェブや実験の解析が楽になりますように!!