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コマンドでデータを集計
PlotData <- aggregate(formula = Count~Group+Schar+Bchar, data = TestData, FUN = sum)

#alluvialプロットの作成:alluvialコマンド
#ラベルデータの指定:先頭で指定する
#各行の出現数を指定:freqオプション
#各ラインのウェーブ具合:xwオプション;0で直線
#塗の透明度:alphaオプション
#ラベル間の隙間を指定:gap.widthオプション
#色の設定:colオプション
#ライン境界線の色:borderオプション
#ライン描写順を指定:layerオプション
#例ではScharのe以外を先に描写する
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

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

Amazon audibleの登録の紹介

プライム会員限定で2024年7月22日まで3か月無料体験キャンペーン開催中です。無料体験後は月額1,500円で聞き放題です。なお、聞き放題対象外の本はAudible会員であれば非会員価格の30%引きで購入することが可能です。

Amazon audibleはプロのナレーターが朗読した本をアプリで聞くことができるサービスで、オフライン再生も可能です。通勤や作業のお供にAmazon audibleのご登録はいかがでしょうか。

・AmazonのAudible

https://amzn.to/3L4FI5o

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