Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の自動車(バス)輸送統計調査のデータ分析7 - R で階層的クラスタリング

Bing Image Creator で生成: 風景写真、春の季節の穏やかな午後、小さな白い花が咲いている

www.crosshyou.info

の続きです。

前回、前々回で回帰分析をしました。バスの輸送人員の変化と人口の変化やエネルギー消費の変化と関係がないことがわかりました。

今回は、階層的クラスタリングをしてみましょう。

最初の使用するデータの再確認をします。

変化倍率の値と、2020年度、2022年度のデータです。今回は、変化倍率の値だけでクラスタリングをしてみます。

まず、必要な変数だけのマトリックスを作成します。

dplyr::select() 関数で、ends_with() を使えば、変数名のおしりが _chg のものだけを選択できます。rownames() 関数で マトリックスの行の名前を指定しています。

階層的クラスタリングをするので、各変数を最小値 0、最大値 1 に基準化します。

summary() 関数で確認しましょう。

あ、そういえば、滋賀は highway のデータが NA でしたね。これは、平均値に置換しておきましょう。

そうしたら、dist() 関数で距離マトリックスを作成して、hclust() 関数でクラスタリングします。

結果をグラフにします。

この樹形図を左から見ると、福岡、山梨、三重のグループ、釧路から愛媛までのグループ、福井から長野までのグループの3つに分けてみようと思います。

cutree() 関数でグループ分けできます。

グループで色分けして散布図をいくつか描いてみましょう。

general_num_chg と highway_num_chg だと、福岡だけ仲間と離れていますね。

general_num_chg とrental_num_chg だとグループどうしが混ざってしまっていることですね。

rental_num_chg と highway_num_chg でも福岡は仲間の三重、山梨とははずれていますね。

樹形図をよく見ると、福岡は、三重、山梨とは少しはずれていますね。

今回は以上です。

次回は、

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。