コルセットプロットは各時点のデータ分布や各データの変化の可視化に有効な手法です。コマンド例では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」コマンドでグループのポイントプロットを追加

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