Rで解析:ggplot2のプロットに有意差バーを追加!「ggsignifr」パッケージ


投稿日: Rの解析に役に立つ記事

「ggplot2」パッケージのプロットに有意差バーを追加するパッケージの紹介です。出力例を確認してください。

パッケージバージョンは0.1.0。windows 10のR version 3.3.3で動作を確認しています。


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

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

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

コマンドの紹介

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

#パッケージの読み込み
library("ggsignif")
#ggplot2パッケージを読み込み
if (!require("ggplot2")) {
  install.packages("ggplot2")}

###データ例の作成#####
TestData <- data.frame("Group" = c(rep("Group1", 50), sample(paste0("Group", 2:3), 50, replace = TRUE)),
                       "Data1" = c(sample(c(1:8), 10, replace = TRUE),
                                   sample(rnorm(100), 40, replace = TRUE),
                                   sample(rnorm(1), 50, replace = TRUE)),
                       "Data2" = sample(LETTERS[1:2], 100, replace = TRUE))
########

###プロット例の作成#####
#箱ひげ
BoxPlot <- ggplot(TestData, aes(x = Group, y = Data1)) +
  geom_boxplot(fill = "lightblue")
#棒グラフ
HistPlot <- ggplot(TestData, aes(x = Group, y = Data1)) +
  geom_histogram(aes(fill = Data2), stat = "identity", position = "dodge")
########

#プロットに有意差表示:geom_signifコマンド
#変数を指定:comparisonsオプション;listで指定
#2変数の検定手法を設定:testオプション;t.test,wilcox.testなどが指定可能
#欠損値を除去して計算:na.rmオプション
#検定結果をアスタリスクで表示:map_signif_levelオプション;"***"=0.001,"**"=0.01,"*"=0.05
BoxPlot +
  geom_signif(comparisons = list(c("Group1", "Group3")),
              test = "t.test",
              na.rm = FALSE,
              map_signif_level = TRUE,
              col = "red")

#検定を利用せずに手動で有意差表示を追加
#statオプション:"identity"
#表示位置はdata.frameで指定;x,xend,y,annotation等で指定
#aesオプションで紐付け
HistPlot +
  geom_signif(stat = "identity",
              data = data.frame(x = c(0.8, 1.8, 2.8, 0.8),
                                xend = c(1.2, 2.2, 3.2, 3.2),
                                y = c(7.3, 0.5, 0.7, 8.0),
                                annotation = c("***", "0.05", "**", "NS")),
              aes(x = x, xend = xend, y = y, yend = y, annotation = annotation),
              col = "red")

出力例

・プロットに有意差表示:geom_signifコマンド

・検定を利用せずに手動で有意差表示を追加


少しでも、あなたの解析が楽になりますように!!けものフレンズ12.1話も驚いたけど、サクラクエスト新しい面白さに注目です。

スポンサードリンク

おすすめコンテンツ


スポンサードリンク