crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の定期健康診断結果報告のデータ分析9 - R言語で非階層クラスタリング

UnsplashWexor Tmgが撮影した写真 

www.crosshyou.info

の続きです。前回はR言語で階層クラスタリングをしました。今回は非階層クラスタリングをしてみて、前回の結果を比較してみます。

k-means法というクラスタリング手法で、kmeans()関数で実行可能です。

kmeans()関数では、実行するたびに結果がかわるので、はじめにset.seed()関数で乱数の種を固定しておきます。

前回の階層クラスタリングでは、3つのグループに分類しましたので、今回も3つのグループにわけてみます。

結果は$clusterでわかります。

oupの列が前回の階層クラスタリング、kmeansの列が今回の非階層クラスタリングの結果です。head()関数ではじめの数行を表示してみました。

table関数でgroupとkmeansがどのくらい一致しているかみてみます。

前回と同じように散布図にしてみてみます。

東京都と同じグループとして、神奈川県、大阪府、愛知県が含まれています。

numとtworatioだと1と2のグループが混ざっていますね。

今回は以上です。

初めから読むには、

 

www.crosshyou.info

です。

今回使った関数は

set.seed() : 乱数の種を固定

kmeans()関数 : k-means法でクラスタリング

head()関数 : データフレームのはじめの数行を表示

plot()関数 : 散布図を描く

text()関数 : グラフエリアに文字を挿入

でした。