Rとウェブ解析:ツリーマップの作成が簡単です!「treemap」パッケージの紹介

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

GoogleAnalyticsでもお馴染みのツリーマップは階層構造を持つ大規模なデータの特徴を把握するのに最適です。そんなツリーマップを簡単に作成できる「treemap」パッケージを紹介します。

本パッケージでは、ツリーマップの他にツリーグラフの作成やshinyでグラフをインタラクティブに操作することができます。

パッケージバージョンは2.4-3。実行コマンドはwindows 11のR version 4.1.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

下記コマンドを実行してください。詳細はコメントまたはパッケージヘルプを確認してください。

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

#データ例の作成
n <- 300
TestData <- data.frame(index1 = rep(c("&#12497;&#12477;&#12467;&#12531;", "&#12514;&#12496;&#12452;&#12523;", "&#12479;&#12502;&#12524;&#12483;&#12488;"), each = 9, length = n),
                          index2 = paste0("&#35370;&#21839;&#22238;&#25968;.", sample(1:10, 30, replace = TRUE)),
                          data = sample(5:30, n, replace = TRUE))

#treemap&#12398;&#12503;&#12525;&#12483;&#12488;:treemap&#12467;&#12510;&#12531;&#12489;
#MAC&#12391;&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;:fontfamily.hogehoge&#12458;&#12503;&#12471;&#12519;&#12531;
#fontfamily.labels = "HiraKakuProN-W3", fontfamily.title = "HiraKakuProN-W3", fontfamily.legend = "HiraKakuProN-W3"
treemap(TestData, index = names(TestData)[1:(ncol(TestData)-1)], title = "&#29872;&#22659;&#21029;&#20877;&#35370;&#21839;&#22238;&#25968;",
        vSize = "data", align.labels = list(c("center", "top"), c("center", "center")), 
        position.legend = "bottom")

#&#33394;&#12398;&#35373;&#23450;:palette&#12458;&#12503;&#12471;&#12519;&#12531;
#MAC&#12391;&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;:fontfamily.hogehoge&#12458;&#12503;&#12471;&#12519;&#12531;
#fontfamily.labels = "HiraKakuProN-W3", fontfamily.title = "HiraKakuProN-W3", fontfamily.legend = "HiraKakuProN-W3"
treemap(TestData, index = names(TestData)[1:(ncol(TestData)-1)], title = "&#29872;&#22659;&#21029;&#20877;&#35370;&#21839;&#22238;&#25968;",
        vSize = "data", align.labels = list(c("center", "top"), c("center", "center")), 
        position.legend = "bottom",
        palette = colorRampPalette(c("#d9bb9c", "#a87963", "#4b61ba"))(length(unique(TestData[, 1]))))

#&#21442;&#32771;:shiny&#12391;&#34920;&#31034;
#itreemap(TestData, index = names(TestData)[1:(ncol(TestData)-1)])

#treegraph&#12398;&#12503;&#12525;&#12483;&#12488;:treegraph&#12467;&#12510;&#12531;&#12489;
#MAC&#12391;&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;:vertex.label.family&#12458;&#12503;&#12471;&#12519;&#12531;
#vertex.label.family = "HiraKakuProN-W3"
treegraph(TestData, index = names(TestData)[1:(ncol(TestData)-1)], show.labels = TRUE,
          rootlabel = "&#29872;&#22659;&#21029;&#20877;&#35370;&#21839;&#22238;&#25968;")

出力例

・treemapのプロット:treemapコマンド

treemap

・色の設定:paletteオプション

treemap2

・treegraphのプロット:treegraphコマンド

treegraph

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

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