Rで解析:ggplot2だけじゃない!NA値の検出にも便利かも「ggmissing」パッケージ


投稿日: RでGoogle Analytics ,

ggplot2でNA値を含むデータをプロットするとエラーが表示されます。本パッケージを利用するとエラーが表示されません。また本パッケージの一番の特徴はNA値をTRUEで検出することかもしれません。

ggplot2に関する記事はこちらから。
Rで解析:手軽で綺麗なグラフが欲しいなら、ggplot2のまとめがオススメです。
https://www.karada-good.net/analyticsr/r-78/

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


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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("tierneyn/ggmissing")

実行コマンド

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

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

###データ例の作成#####
n <- 30
TestData <- data.frame(Data1 = sample(c(1:10, NA), n, replace = TRUE),
                       Data2 = sample(c(100:110, NA), n, replace = TRUE))
#データ内容の確認
TestData
Data1 Data2
1      8   103
2      8   108
3      2    NA
4      2   101
5      9   102
6      5   109
7      1   107
8     NA   105
9      4   102
10     8   102
11     1   101
12     2   109
13    10   100
14     5   106
15     8    NA
16    10   108
17     3   101
18    NA   102
19     4    NA
20     1   109
21    NA   106
22     1   102
23     6   110
24    10   107
25    NA   105
26     2   107
27     8   110
28     2   105
29     2   102
30     5   104
########

#ggplot2でプロット
#まずは普通にプロット
library("ggplot2")
PlotData <- ggplot(data = TestData, aes(TestData[, 1], TestData[, 2]))
PlotData + geom_point()
#エラーが表示されます
警告メッセージ: 
Removed 7 rows containing missing values (geom_point). 

#二つのデータ配列でNAを含む組み合わせを検出:miss_catコマンド
#NAを含む組み合わせは"Missing"で表示されます
#varには列名を指定するのがポイントです
MissCol <- miss_cat(TestData, var1 = colnames(TestData[1]), var2 = colnames(TestData[2]))
MissCol
[1] "Not Missing" "Not Missing" "Missing"     "Not Missing" "Not Missing" "Not Missing"
[7] "Not Missing" "Missing"     "Not Missing" "Not Missing" "Not Missing" "Not Missing"
[13] "Not Missing" "Not Missing" "Missing"     "Not Missing" "Not Missing" "Missing"    
[19] "Missing"     "Not Missing" "Missing"     "Not Missing" "Not Missing" "Not Missing"
[25] "Missing"     "Not Missing" "Not Missing" "Not Missing" "Not Missing" "Not Missing"

#miss_catコマンドを適応してプロット
PlotData <- ggplot(data = TestData, aes(TestData[, 1], TestData[, 2], colour = MissCol))
PlotData + geom_point()

#NA値をTRUEで位置を表示:shadow_dfコマンド
ShadowDF <- shadow_df(TestData)
ShadowDF
Source: local data frame [30 x 2]
Data1 Data2
(lgl) (lgl)
1  FALSE FALSE
2  FALSE FALSE
3  FALSE  TRUE
4  FALSE FALSE
5  FALSE FALSE
6  FALSE FALSE
7  FALSE FALSE
8   TRUE FALSE
9  FALSE FALSE
10 FALSE FALSE
..   ...   ...

#NAを含む組み合わせもプロット:shadow_shiftオプション
PlotData <- ggplot(data = TestData, aes(shadow_shift(TestData[, 1]),
                                        shadow_shift(TestData[, 2]), colour = MissCol))
PlotData + geom_point()

出力例

・ggplot2で普通にプロット
nomal

・miss_catコマンドを適応してプロット
miss_cat

・shadow_shiftオプション
shadow_shift


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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク