Rで解析:ggplot2を水平方向にプロット「ggstance」パッケージ

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

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&#12395;&#36969;&#24540;
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&#12395;&#36969;&#24540;
TestData2 <- aggregate(TestData[, 2:3], by = list(TestData[, 1]), mean)
#######

#ggplot2&#12398;&#12486;&#12540;&#12510;&#12434;&#12475;&#12483;&#12488;
theme_set(theme_linedraw())

#&#27178;&#21521;&#12365;&#12398;box plot:geom_boxploth&#12467;&#12510;&#12531;&#12489;
ggplot(TestData, aes(x = Data1, y = Group)) +
  geom_boxploth(aes(fill = factor(Group)))

#&#27178;&#21521;&#12365;&#12398;violin plot:geom_violinh&#12467;&#12510;&#12531;&#12489;
ggplot(TestData, aes(x = Data1, y = Group)) +
  geom_violinh(aes(fill = factor(Group)))

#&#27178;&#21521;&#12365;&#12398;bar plot:geom_barh&#12467;&#12510;&#12531;&#12489;
ggplot(TestData2, aes(x = Data1, y = Group.1)) +
  geom_barh(aes(fill = factor(Group.1)), stat = "identity")

#&#27178;&#21521;&#12365;&#12398;linerange plot:geom_linerangeh&#12467;&#12510;&#12531;&#12489;
ggplot(TestData2, aes(x = Data1, y = Group.1)) +
  geom_linerangeh(aes(xmin = Data1, xmax = Data1 * 0.1, color = Group.1))

#&#27178;&#21521;&#12365;&#12398;pointrange plot:geom_pointrangeh&#12467;&#12510;&#12531;&#12489;
ggplot(TestData2, aes(x = Data1 + 0.1, y = Group.1)) +
  geom_pointrangeh(aes(xmin = Data1, xmax = Data1 + 0.3, color = Group.1))

#&#27178;&#21521;&#12365;&#12398;crossbar plot:geom_crossbarh&#12467;&#12510;&#12531;&#12489;
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_boxploth

・geom_violinhコマンド

geom_violinh

・geom_barhコマンド

geom_barh

・geom_linerangehコマンド

geom_linerangeh

・geom_pointrangehコマンド

geom_pointrangeh

・geom_crossbarhコマンド

geom_crossbarh

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

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