ggplot2を水平方向にプロットするパッケージの紹介です。簡単に利用できるのでオススメです。対象となるプロットは箱ひげ図、バイオリンプロット、棒グラフ、ラインレンジプロット、ポイントレンジプロット、クロスバープロットです。
パッケージバージョンは0.3.6.9000。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("devtools")
devtools::install_github("lionel-/ggstance")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("ggstance")
#ggplot2を利用するためにtidyverseパッケージ
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
###データ例の作成#####
n <- 3000
#geom_boxploth,geom_violinhに適応
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE),
Data1 = runif(n),
Data2 = runif(n) + runif(n))
#geom_barh,geom_linerangeh,geom_pointrangeh,geom_crossbarhに適応
TestData2 <- aggregate(TestData[, 2:3], by = list(TestData[, 1]), mean)
#######
#ggplot2のテーマをセット
theme_set(theme_linedraw())
#横向きのbox plot:geom_boxplothコマンド
ggplot(TestData, aes(x = Data1, y = Group)) +
geom_boxploth(aes(fill = factor(Group)))
#横向きのviolin plot:geom_violinhコマンド
ggplot(TestData, aes(x = Data1, y = Group)) +
geom_violinh(aes(fill = factor(Group)))
#横向きのbar plot:geom_barhコマンド
ggplot(TestData2, aes(x = Data1, y = Group.1)) +
geom_barh(aes(fill = factor(Group.1)), stat = "identity")
#横向きのlinerange plot:geom_linerangehコマンド
ggplot(TestData2, aes(x = Data1, y = Group.1)) +
geom_linerangeh(aes(xmin = Data1, xmax = Data1 * 0.1, color = Group.1))
#横向きのpointrange plot:geom_pointrangehコマンド
ggplot(TestData2, aes(x = Data1 + 0.1, y = Group.1)) +
geom_pointrangeh(aes(xmin = Data1, xmax = Data1 + 0.3, color = Group.1))
#横向きのcrossbar plot:geom_crossbarhコマンド
ggplot(TestData2, aes(x = Data1 + 0.1, y = Group.1)) +
geom_crossbarh(aes(xmin = Data1, xmax = Data1 + 0.3, color = Group.1))
出力例
・geom_boxplothコマンド

・geom_violinhコマンド

・geom_barhコマンド

・geom_linerangehコマンド

・geom_pointrangehコマンド

・geom_crossbarhコマンド

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