沖積図(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コマンド
各ポイントはドラッグで上下に入れ替えが可能、マウスオーバーで情報が表示されます。
少しでも、あなたの解析が楽になりますように!!