沖積図(Alluvial Plot)を簡単に作成、作成した図をインタラクティブ化するのに便利な2つのパッケージの紹介です。データの流れを指標や時間軸で表現するのに便利だと思います。
パッケージバージョンは「easyalluvial」:0.3.1・「parcats」:0.0.4。実行コマンドはwindows 11のR version 4.1.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("easyalluvial")
install.packages("parcats")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("easyalluvial")
library("parcats")
###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 5
TestData <- tibble(Group = rep(paste0("Group", 1:5), each = n),
Number = as.character(sample(c(1:5), n*5, replace = TRUE)),
X_Data = sample(c(1:50), n*5, replace = TRUE),
Logical = sample(c("TRUE", "FALSE"), prob = c(4/5, 1/5),
n*5, replace = TRUE))
########
###「easyalluvial」パッケージ#####
#wideデータから沖積図の作成:alluvial_wideコマンド
#longデータ用:alluvial_longコマンドがあります
#データの表示数:max_variablesオプション
#連続変数の分割数:binオプション
#連続変数の分割ラベル:bin_labelsオプション
#欠損値のラベル:NA_labelオプション
#各線の塗色の基準:fill_byオプション;
#"first_variable","last_variable","all_flows","values"
#各線の塗色:col_vector_flowオプション;塗色の基準数が必要
#塗色の基準以外の塗色:col_vector_valueオプション
AULPlot <- alluvial_wide(data = TestData, max_variables = 4, bins = 5,
bin_labels = c("LL(KA)", "ML(RA)", "M(DA)",
"MH(GO)", "HH(OD)"),
fill_by = "last_variable",
col_vector_flow = c("#b27f54", "#449278"),
col_vector_value = c("red", "blue", "#e1e6ea",
"green", "#a87963"))
#確認
AULPlot +
theme_classic()
#沖積図周りにヒストグラムをプロット:add_marginal_histogramsコマンド
#プロット位置:上/下;TRUE/FALSE
AULPlot %>%
add_marginal_histograms(data_input = TestData, top = TRUE)
###「parcats」パッケージ#####
#沖積図をインタラクティブ化:parcatsコマンド
parcats(AULPlot, marginal_histograms = TRUE, data_input = TestData)
出力例
・alluvial_wideコマンド

・add_marginal_histogramsコマンド

・沖積図をインタラクティブ化:parcatsコマンド
各ポイントはドラッグで上下に入れ替えが可能、マウスオーバーで情報が表示されます。
少しでも、あなたの解析が楽になりますように!!