データの高密度分布を理解しやすく表現する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コマンドの組み合わせ

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