Rでtreemapを可視化する:GNI 2014データセットを活用した国別国民総所得(GNI)比較
データの可視化により、複雑なデータを一目で把握することができます。 特に、ツリーマップは多くのデータポイントを視覚的に表現するのに非常に便利です。この記事では、Rプログラミング言語を使用して、GNI 2014データセットをベースにした国別の国民総所得(GNI)を比較するツリーマップを生成する方法を紹介します。
treemapのコンセプト
ツリーマップは、階層的なデータを長方形のタイルで表現する視覚化方法です。 各タイルのサイズはその項目の値に比例し、色は追加の情報を表すことができます。ツリーマップは、特にデータポイントが多く、各項目の相対的な大きさを簡単に比較できる場合に便利です。
Rコード例
GNI 2014データセットを利用したツリーマップを生成するために必要なパッケージをインストールして呼び出します。
# 必要なパッケージリスト
packages <- c("ggplot2", "treemapify", "dplyr", "viridis")
# インストールされていないパッケージの確認とインストール
new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]]]
if(length(new_packages)) install.packages(new_packages)
#パッケージの読み込み
lapply(packages, library, character.only = TRUE)GNI 2014データセットを読み込み、データ前処理を行います。
# GNI2014データセットの読み込み
データ(GNI2014)
# データ前処理
GNI2014 %
mutate(label = ifelse(GNI > quantile(GNI, 0.75), country, ""))ツリーマップを生成するコードを作成します。
rコードコピー# トリマップ作成
ggplot(GNI2014, aes(area = GNI, fill = GNI, label = ラベル, subgroup = 大陸))) +
geom_treemap() +.
geom_treemap_subgroup_border(color = "white", size = 2) +...
geom_treemap_subgroup_text(place = "centre", grow = TRUE, alpha = 0.5, color = "black", fontface = "bold") +
geom_treemap_text(color = "white", place = "centre", size = 10, grow = TRUE) +...
# 修正されたカラースケールの適用
scale_fill_gradient(low = "黄", high = "紫", breaks = c(0, 25000, 50000, 75000, 100000), labels = scales::comma) +...
labs(title = "GNI 2014 データセットトリマップ"、
subtitle = "国別国民総所得(GNI)比較"、
caption = "データ: GNI2014") +...
theme_minimal() +...
theme(legend.position = "bottom"、
legend.key.width = unit(2, "cm"), # レジェンドキーの幅調整
plot.title = element_text(hjust = 0.5, size = 20, face = "bold")、
plot.subtitle = element_text(hjust = 0.5, size = 16)、
plot.caption = element_text(hjust = 1, size = 10))上のコードはggplot2パッケージを使ってツリーマップを生成します。 aes 関数で各タイルの面積(area)はGNI値を基準に、色(fill)はGNI値によって設定されます。 また、GNI値も設定されます、 トップ25% GNI値が高い国名を表示するするように前処理します。この値を調整することで、見えない国の名前を表示させることができます。
完全なソースコード
# 必要なパッケージリスト
packages <- c("ggplot2", "treemapify", "dplyr", "viridis")
#にインストールされていないパッケージの確認とインストール
new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]]]
if(length(new_packages)) install.packages(new_packages)
# パッケージのロード
lapply(packages, library, character.only = TRUE)
# GNI2014データセット読み込み
data(GNI2014)
# データの前処理
GNI2014 %
mutate(label = ifelse(GNI > quantile(GNI, 0.75), country, ""))
#トリマップ生成
ggplot(GNI2014, aes(area = GNI, fill = GNI, label = label, subgroup = continent)) + +...
geom_treemap() + + geom_treemap()
geom_treemap_subgroup_border(color = "白", size = 2) + geom_treemap_subgroup_border(color = "white", size = 2)
geom_treemap_subgroup_text(place = "centre", grow = TRUE, alpha = 0.5, colour = "black", fontface = "bold") + geom_treemap_subgroup_text()
geom_treemap_text(colour = "white", place = "centre", size = 10, grow = TRUE) + +...
# 修正されたカラースケールを適用します。
scale_fill_gradient(low = "yellow", high = "purple", breaks = c(0, 25000, 50000, 75000, 100000), labels = scales::comma) + + scales_fill_gradient(low = "yellow", high = "purple", breaks = c(0, 25000, 50000, 75000, 100000))
labs(title = "GNI 2014 データセットトリマップ"、
subtitle = "国別国民総所得(GNI)比較"、
caption = "Data: GNI2014") + theme(
theme_minimal() + +.
theme(legend.position = "bottom"、
legend.key.width = unit(2, "cm"), # 凡例キーの幅を調整します。
plot.title = element_text(hjust = 0.5, size = 20, face = "bold")、
plot.subtitle = element_text(hjust = 0.5, size = 16)、
plot.caption = element_text(hjust = 1, size = 10))よくある失敗と予防法
ツリーマップを作成する際によくある間違いは、タイルが小さすぎてラベルがよく見えないことです。 これを避けるためには、適切なデータ前処理とラベル付け戦略を使用する必要があります。 また、色を過剰に使用すると、視覚的に複雑になる可能性があるので注意が必要です。
整理する
上記の順番でソースコードを実行すると、下記のような結果が生成されます。 こちらで作成したものより少し素敵になりましたね。

今回は、Rを使用してGNI 2014データセットを可視化するツリーマップを作成する方法を見てきました。 ツリーマップは、多くのデータを直感的に比較することができる強力なツールです。 今後も様々な可視化手法を試してみましょう!



