Rで解析:沖積図(Alluvial Plot)を簡単に作成!インタラクティブ化!!「easyalluvial」・「parcats」パッケージ

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

沖積図(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))
########

###&#12300;easyalluvial&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;#####
#wide&#12487;&#12540;&#12479;&#12363;&#12425;&#27798;&#31309;&#22259;&#12398;&#20316;&#25104;:alluvial_wide&#12467;&#12510;&#12531;&#12489;
#long&#12487;&#12540;&#12479;&#29992;:alluvial_long&#12467;&#12510;&#12531;&#12489;&#12364;&#12354;&#12426;&#12414;&#12377;
#&#12487;&#12540;&#12479;&#12398;&#34920;&#31034;&#25968;:max_variables&#12458;&#12503;&#12471;&#12519;&#12531;
#&#36899;&#32154;&#22793;&#25968;&#12398;&#20998;&#21106;&#25968;:bin&#12458;&#12503;&#12471;&#12519;&#12531;
#&#36899;&#32154;&#22793;&#25968;&#12398;&#20998;&#21106;&#12521;&#12505;&#12523;:bin_labels&#12458;&#12503;&#12471;&#12519;&#12531;
#&#27424;&#25613;&#20516;&#12398;&#12521;&#12505;&#12523;:NA_label&#12458;&#12503;&#12471;&#12519;&#12531;
#&#21508;&#32218;&#12398;&#22615;&#33394;&#12398;&#22522;&#28310;:fill_by&#12458;&#12503;&#12471;&#12519;&#12531;;
#"first_variable","last_variable","all_flows","values"
#&#21508;&#32218;&#12398;&#22615;&#33394;:col_vector_flow&#12458;&#12503;&#12471;&#12519;&#12531;;&#22615;&#33394;&#12398;&#22522;&#28310;&#25968;&#12364;&#24517;&#35201;
#&#22615;&#33394;&#12398;&#22522;&#28310;&#20197;&#22806;&#12398;&#22615;&#33394;:col_vector_value&#12458;&#12503;&#12471;&#12519;&#12531;
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"))
#&#30906;&#35469;
AULPlot +
  theme_classic()

#&#27798;&#31309;&#22259;&#21608;&#12426;&#12395;&#12498;&#12473;&#12488;&#12464;&#12521;&#12512;&#12434;&#12503;&#12525;&#12483;&#12488;:add_marginal_histograms&#12467;&#12510;&#12531;&#12489;
#&#12503;&#12525;&#12483;&#12488;&#20301;&#32622;:&#19978;/&#19979;;TRUE/FALSE
AULPlot %>%
add_marginal_histograms(data_input = TestData, top = TRUE)

###&#12300;parcats&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;#####
#&#27798;&#31309;&#22259;&#12434;&#12452;&#12531;&#12479;&#12521;&#12463;&#12486;&#12451;&#12502;&#21270;:parcats&#12467;&#12510;&#12531;&#12489;
parcats(AULPlot, marginal_histograms = TRUE, data_input = TestData)

出力例

・alluvial_wideコマンド

・add_marginal_histogramsコマンド

・沖積図をインタラクティブ化:parcatsコマンド

各ポイントはドラッグで上下に入れ替えが可能、マウスオーバーで情報が表示されます。


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

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