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コマンド
少しでも、あなたの解析が楽になりますように!!