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))
########

###「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コマンド

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


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

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