Rで解析:ggplot2でbeeswarmプロット「ggbeeswarm」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

データの分布を確認するのに便利なbeeswarmプロットをggplot2で描写するパッケージの紹介です。

パッケージバージョンは0.7.1。windows11のR version 4.2.2で確認しています。


スポンサーリンク

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

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

#パッケージのインストール
install.packages("ggbeeswarm")

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}

#monochromeRパッケージでカラーパレットを作成
#https://www.karada-good.net/analyticsr/r-647/
if(!require("monochromeR", quietly = TRUE)){
  install.packages("monochromeR");require("monochromeR")
}
#カラーパレットを作成
ColPalette <- factor(generate_palette(colour = "#deb7a0",
                                      modification = "go_lighter",
                                      n_colours = 5, view_palette = FALSE))
#&#12487;&#12540;&#12479;&#20363;&#12398;&#20316;&#25104;
n <- 300
TestData <- tibble(Group = sample(paste0("Group", 1:5),
                                  n, replace = TRUE),
                   Data = rnorm(n)) %>%
  mutate(Color = case_when(Group == "Group1" ~ ColPalette[1],
                           Group == "Group2" ~ ColPalette[2],
                           Group == "Group3" ~ ColPalette[3],
                           Group == "Group4" ~ ColPalette[4],
                           Group == "Group5" ~ ColPalette[5]))
########

####### #&#12503;&#12525;&#12483;&#12488;&#38619;&#24418;&#12434;&#20316;&#25104;
PlotData <- ggplot(TestData, aes(x = Group, y = Data,
                                 color = Color))

#Beeswarm&#12503;&#12525;&#12483;&#12488;:geom_quasirandom&#12467;&#12510;&#12531;&#12489;
PlotData + geom_quasirandom(cex = 2) +
  theme_dark() + scale_colour_identity()

#Beeswarm&#12503;&#12525;&#12483;&#12488;:geom_beeswarm&#12467;&#12510;&#12531;&#12489;
#&#28857;&#12398;&#37197;&#32622;&#26041;&#27861;&#12434;&#25351;&#23450;:priority&#12458;&#12503;&#12471;&#12519;&#12531;;
#"ascending","descending","density","random","none"
PlotData + geom_beeswarm(dodge.width = 0.7,
                         priority = "density",
                         cex = 2) +
  theme_dark() + scale_colour_identity()

出力例

・geom_quasirandomコマンド

・geom_beeswarmコマンド


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

タイトルとURLをコピーしました