crosshyou

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

Real estate valuation data set の分析4 - R言語のcor関数で相関マトリックスを作り、相関の低い順に組み合わせを並び替える。

 

www.crosshyou.infoの続きです。

前回は変数の分布の様子をboxplot関数、hist関数でみてみました。

今回は変数間の相関関係をcor関数で調べてみましょう。

cor関数

Yが不動産価格なので、不動産価格と相関関係の強い変数が何かを見てみましょう。

絶対値ベースでみると、1番相関関係があるのは、X3(MRTの駅からの距離)です。マイナスの相関関係で、-0.67です。距離があるほど不動産価格は下がります。

次がX4(近くのコンビニエンスストアの数)です。0.57と正の相関係数なので、コンビニエンスストアが近くに多くあるほど不動産価格は高くなります。

次がX5(緯度)です。0.546の相関係数なので、緯度が高いほど、北にあるほど不動産価格は高くなります。

次がX6(経度)です。0.523が相関係数なので、経度が大きいほど、東にあるほど不動産価格は高くなります。

次がX2(築年数)です。負の相関係数、-0.21なので築年数が長いほど不動産価格は低くなります。

そして、最後がX1(取引日付)です。0.087なのでわずかに正の相関係数です。取引が新しいほど不動産価格は高くなっているようです。

変数同士の相関も相関マトリックスで見ればわかりますが、組み合わせの数が多いので、相関マトリックスを分解して、ベクトルにして小さい順に並び替えて表示しましょう。

as.vector関数

as.vector関数でベクトル化します。マトリックスは列方向にベクトル化されます。

colnames関数

colnames関数を使って変数名のベクトルを用意します。

rep関数

rep関数を使って変数の組み合わせの1番目のベクトルを作ります。eachという引数を使います。

rep関数

rep関数を使って変数の組み合わせの2番目のベクトルを作ります。

paste関数

paste関数でlabel1とlabel2を合わせます。sep = "-" として - でつなげます。

names関数

names関数をつかってcor_vecの名前をlabel1_2にします。

subscripts

相関係数が1なのはX1-X1など同じ変数の組み合わせなので必要ないので、!=1として削除します。

round関数とsort関数

sort関数で小さい順に並び替えました。桁数が多いと見にくいので、round関数で小数点以下3位までの表示にしています。

X3(MRTまでの距離)とX6(経度)が-0.806で一番のマイナス相関です。経度が大きいほど、つまり東にあるほどMRTまでの距離が近いのですね。

X3(MRTまでの距離)とX4(コンビニエンスストアの数)が-0.603のマイナス相関です。MRTの距離が近いほど、コンビニエンスストアの数は多いです。

X4(コンビニエンスストアの数)とX6(経度)は0.449とプラスの相関です。東にあるほど、コンビニエンスストアの数は多いのですね。

X4(コンビニエンスストアの数)とX5(緯度)は0.444とプラスの相関です。北にあるほど、コンビニエンスストアの数は多いです。

今回は以上です。