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))

よくある失敗と予防法

ツリーマップを作成する際によくある間違いは、タイルが小さすぎてラベルがよく見えないことです。 これを避けるためには、適切なデータ前処理とラベル付け戦略を使用する必要があります。 また、色を過剰に使用すると、視覚的に複雑になる可能性があるので注意が必要です。

整理する

上記の順番でソースコードを実行すると、下記のような結果が生成されます。 こちらで作成したものより少し素敵になりましたね。

treemap

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

類似の投稿