データの高密度分布を理解しやすく表現するhigh-density regions(HDR)プロットを「ggplot2」パッケージで作成するパッケージの紹介です。
high-density regions(HDR)の詳細は「hdrcde」パッケージのHPに参考文献が紹介されています。HDRの詳細に興味のある方は確認してはいかがでしょうか。
hdrcde:http://pkg.robjhyndman.com/hdrcde/index.html
本パッケージを利用することでデータの分布で新たな発見があるかもしれません。
パッケージのバージョンは0.1.0。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("gghdr")
実行コマンド
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み
library("gghdr")
###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 300
TestData <- tibble(Group = sample(paste0("Group", 1:4), n,
replace = TRUE),
X_num_Data = sample(c(c(1:30), c(100:175)),
n, replace = TRUE),
Y_num_Data = sample(c(51:100), n, replace = TRUE))
#X_num_Dataの分布を確認
ggplot(data = TestData, aes(x = X_num_Data)) +
geom_density()
#X_num_DataでGroup毎のBoxplotを確認
ggplot(data = TestData,
aes(x = Group, y = X_num_Data)) +
geom_boxplot(fill = c("red"))
########
#Boxplot型のhigh-density regions(HDRs)プロット:geom_hdr_boxplotコマンド
#HDRsの確率範囲を指定(塗色の変化):probオプション
ggplot(data = TestData,
aes(x = Group, y = X_num_Data)) +
geom_hdr_boxplot(prob = c(0.35, 0.45, 0.85, 0.95),
fill = c("red"), na.rm = FALSE,
show.legend = NA)
#ラグ型のhigh-density regions(HDRs)プロット:geom_hdr_rugコマンド
#geom_pointコマンドと合わせると理解しやすいです
ggplot(data = TestData,
aes(x = X_num_Data, y = Y_num_Data)) +
geom_point() +
geom_hdr_rug(fill = c("red"),
prob = c(0.35, 0.45, 0.85, 0.95))
#散布図にHDRsを適応:hdr_binコマンド
ggplot(data = TestData,
aes(x = X_num_Data, y = Y_num_Data)) +
geom_point(aes(colour = hdr_bin(x = X_num_Data, y = Y_num_Data,
prob = c(0.35, 0.45, 0.85, 0.95)))) +
labs(colour = "prob")
#参考:geom_hdr_rugコマンド,hdr_binコマンドの組み合わせ
ggplot(data = TestData,
aes(x = X_num_Data, y = Y_num_Data)) +
geom_point(aes(colour =
hdr_bin(x = X_num_Data, y = Y_num_Data,
prob = c(0.35, 0.45, 0.85, 0.95)))) +
geom_hdr_rug(na.rm = FALSE, fill = c("red"),
prob = c(0.10, 0.55, 0.65, 0.85)) +
labs(colour = "prob")
出力例
・X_num_Dataの分布を確認

・X_num_DataでGroup毎のBoxplotを確認

・Boxplot型のhigh-density regions(HDRs)プロット:geom_hdr_boxplotコマンド

・ラグ型のhigh-density regions(HDRs)プロット:geom_hdr_rugコマンド

・散布図にHDRsを適応:hdr_binコマンド

・参考:geom_hdr_rugコマンドとhdr_binコマンドの組み合わせ

少しでも、あなたの解析が楽になりますように!!