crosshyou

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

地域ブロック別の栄養素等摂取量のデータ分析5 - R言語で主成分分析(PCA)をする。

 

www.crosshyou.info

 の続きです。

今回はR言語で主成分分析(PCA)をしてみようと思います。

まず、datというデータフレームから平均値だけのデータフレームにします。

f:id:cross_hyou:20210109201645p:plain

次に、typeはもう平均値だけなので必要ないのでtypeを削除します。

f:id:cross_hyou:20210109201750p:plain

tapply関数を使って、eiyousoとregionごとの平均値を出します。

f:id:cross_hyou:20210109201912p:plain

こうして作成したdat_averageというデータフレームですが、変数の数はどのくらいあるのでしょうか?

f:id:cross_hyou:20210109202240p:plain

なんと、40個もあります。

このように変数が多くてデータの概要を理解するのが難しいときに主成分分析(PCA)を使います。

prccomp関数を使います。

f:id:cross_hyou:20210109202456p:plain

pcaobjectのサマリを見てみます。

f:id:cross_hyou:20210109203424p:plain

3行目のCumulative Propostionを見ると、PC1で46%、PC2までで68%データを説明できます。

グラフにしてみます。

f:id:cross_hyou:20210109204037p:plain

f:id:cross_hyou:20210109204052p:plain

PC5ぐらいまでで90%ぐらい説明できるということですね。つまり40個の変数を5つぐらいに縮小できるということですね。

biplot関数でグラフにしてみます。

f:id:cross_hyou:20210109204409p:plain

f:id:cross_hyou:20210109204421p:plain

横軸をPC1, 縦軸をPC2にしてそれぞれの地域をプロットしています。

近畿1と近畿2は隣接していますから、栄養摂取に関しては同じようなものだとわかります。

それに対して、関東1と関東2は離れていますから地域差があります。

東北と北陸も同じような栄養摂取ですね。

北海道はPC1は大きく、PC2は小さいということですね。

今回は以上です。

今回は

 

 を参考にしました。

はじめから読むには、

 

www.crosshyou.info

 です。