Rで解析:データの流れを表現するのに便利!「alluvial」パッケージ

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

データの流れを指標や時間軸で表現するのに便利なAlluvial diagramsです。「ggplot2」パッケージを利用して描写する「ggalluvial」パッケージがありますが、別な方法の一つとして紹介です。

・Rで解析:Alluvial diagramsをプロットしませんか「ggalluvial」パッケージ
 https://www.karada-good.net/analyticsr/r-504/

パッケージバージョンは0.1-1。windows 7およびOS X 10.11.5のR version 3.3.1で確認しています。

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("alluvial")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("alluvial")

###データ例の作成#####
n <- 100
TestData <- data.frame("Group" = sample(paste0("Group", 1:3), n, replace = TRUE),
                       "Schar" = sample(letters[1:10], n, replace = TRUE),
                       "Bchar" = sample(LETTERS[1:10], n, replace = TRUE),
                       "Count" = sample(c(0, 1), n, replace = TRUE))
########

#aggregate&#12467;&#12510;&#12531;&#12489;&#12391;&#12487;&#12540;&#12479;&#12434;&#38598;&#35336;
PlotData <- aggregate(formula = Count~Group+Schar+Bchar, data = TestData, FUN = sum)

#alluvial&#12503;&#12525;&#12483;&#12488;&#12398;&#20316;&#25104;:alluvial&#12467;&#12510;&#12531;&#12489;
#&#12521;&#12505;&#12523;&#12487;&#12540;&#12479;&#12398;&#25351;&#23450;:&#20808;&#38957;&#12391;&#25351;&#23450;&#12377;&#12427;
#&#21508;&#34892;&#12398;&#20986;&#29694;&#25968;&#12434;&#25351;&#23450;:freq&#12458;&#12503;&#12471;&#12519;&#12531;
#&#21508;&#12521;&#12452;&#12531;&#12398;&#12454;&#12455;&#12540;&#12502;&#20855;&#21512;:xw&#12458;&#12503;&#12471;&#12519;&#12531;;0&#12391;&#30452;&#32218;
#&#22615;&#12398;&#36879;&#26126;&#24230;:alpha&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12521;&#12505;&#12523;&#38291;&#12398;&#38553;&#38291;&#12434;&#25351;&#23450;:gap.width&#12458;&#12503;&#12471;&#12519;&#12531;
#&#33394;&#12398;&#35373;&#23450;:col&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12521;&#12452;&#12531;&#22659;&#30028;&#32218;&#12398;&#33394;:border&#12458;&#12503;&#12471;&#12519;&#12531;
#&#12521;&#12452;&#12531;&#25551;&#20889;&#38918;&#12434;&#25351;&#23450;:layer&#12458;&#12503;&#12471;&#12519;&#12531;
#&#20363;&#12391;&#12399;Schar&#12398;e&#20197;&#22806;&#12434;&#20808;&#12395;&#25551;&#20889;&#12377;&#12427;
alluvial(PlotData[, 1:3], freq = PlotData[, 4], xw = 0.1, alpha = 0.8,
         gap.width = 0.2, col = ifelse(PlotData[, 2] == "e", "#deb7a0", "#4b61ba"),
         border = "gray", layer = PlotData[, 2] != "e" )

出力例

akkuvial

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

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