コルセットプロットは各時点のデータ分布や各データの変化の可視化に有効な手法です。コマンド例ではwide型、long型データに対応した作成コマンドと「ggplot2」パッケージのコマンドを利用した例を紹介します。
なお、本パッケージは「ggplot2」パッケージのコマンドで体裁などの調整が可能です。
パッケージバージョンは0.4.0。windows11のR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("ggcorset")
実行コマンド
詳細はコマンド、各パッケージのヘルプを確認してください。
#パッケージの読み込み library("ggcorset") ###データ例の作成##### #tidyverseパッケージがなければインストール if(!require("tidyverse", quietly = TRUE)){ install.packages("tidyverse");require("tidyverse") } #MetBrewerパッケージがなければインストール if(!require("MetBrewer", quietly = TRUE)){ install.packages("MetBrewer");require("MetBrewer") } set.seed(1234) n <- 100 #wide型データ作成 TestData <- tibble(Group = sample(paste0("Group", 1:4), n, replace = TRUE), Pre_Data = sample(c(1:50), n, replace = TRUE), Post_Data = sample(c(1:50), n, replace = TRUE)) %>% mutate(ID = row_number(), .before = Pre_Data) %>% mutate(ChangeData = Post_Data - Pre_Data) %>% mutate(Check_Data = if_else(ChangeData < 0, "Decrease", if_else(ChangeData > 0, "Increase", "No_Change"))) %>% mutate(Check_Data = factor(Check_Data, levels = c("Increase", "Decrease", "No_Change"))) #Long型データ Long_TestData <- TestData %>% pivot_longer(cols = c("Pre_Data", "Post_Data"), names_to = "Time") ######## #wide型データからコルセットプロットの作成:gg_corsetコマンド #開始点のデータ:y_var1オプション #終了点のデータ:y_var2オプション #データ変化量を示す基準データ:c_varオプション #c_varオプションの基準で分割プロット:facetedオプション;TRUE/FALSE #ユニークな各データの基準データ:groupオプション #各データ変化量に対するSEM(標本平均の標準誤差)を表示:eyeletsオプション;TRUE/FALSE #線の太さ:line_sizeオプション #左右のViolinPlotの塗色:vio_fillオプション CorsetGG <- gg_corset(data = TestData, y_var1 = "Pre_Data", y_var2 = "Post_Data", c_var = "Check_Data", faceted = TRUE, group = "ID", eyelets = TRUE, line_size = 0.5, vio_fill = "#ad8a80") #確認 CorsetGG #long型データからコルセットプロットの作成:gg_corset_elongatedコマンド #X軸に使用するデータ:x_varオプション #X軸データのラベル内容:x_valsオプション #Y軸に使用するデータ:y_varオプション #ユニークな各データの基準データ:groupオプション #各データ変化量に対するSEM(標本平均の標準誤差)を表示:eyeletsオプション;TRUE/FALSE gg_corset_elongated(data = Long_TestData, x_var = "Time", x_vals = c("Pre_Data", "Post_Data"), y_var = "value", c_var = "Check_Data", faceted = FALSE, group = "ID", eyelets = TRUE, line_size = 0.5, vio_fill = "#ad8a80") #コルセットプロットのテーマ:theme_ggcorsetコマンド CorsetGG + theme_ggcorset() ###コルセットプロットの体裁を整える##### CorsetGG + #グループのポイントプロットを追加 geom_point(aes(col = Group), size = 3) + theme(legend.direction = "horizontal", legend.position = "top", legend.title = element_text(size = 11), legend.text = element_text(size = 11), axis.text.x = element_text(size = 12, colour = "black", hjust = 0.5, vjust = 0), axis.text.y = element_text(size = 12, colour = "black", hjust = 1)) + scale_colour_manual("Test_Label", breaks = c("Increase", "Decrease", "No_Change", "Group1", "Group2", "Group3", "Group4"), values = MetBrewer::met.brewer("Ingres", 7)) + ylab("") + xlab("") + scale_x_discrete(labels = c("Pre", "Post")) + guides(colour = guide_legend(override.aes = list(size = 2), byrow = TRUE))
出力例
・wide型データ用のgg_corsetコマンド
・long型データ用のgg_corset_elongatedコマンド:facetオプション;FALSE
・theme_ggcorsetコマンド
・コルセットプロットの体裁を整える:「geom_point」コマンドでグループのポイントプロットを追加
少しでも、あなたの解析が楽になりますように!!