Rによる相関行列と偏相関係数
都道府県別大学進学率データを用いる。
都道府県別大学進学率データより、大学進学率と関わりのある項目は何かを分析したい。
大学進学率 | 学校基本調査2016年 |
一住宅あたり敷地面積 | 社会生活統計指標2008年 |
平均所得 | 賃金構造基本統計調査2015年 |
食料自給率 | 農林水産省2013年 |
人口密度 | 2016年 |
都道府県 | 大学進学率 | 一住宅あたり敷地面積 | 平均所得 | 食料自給率 | 人口密度 |
---|---|---|---|---|---|
北海道 | 42.8 | 276 | 410.2 | 198 | 68.25 |
青森 | 37.2 | 351 | 358.7 | 118 | 134.68 |
岩手 | 37.3 | 392 | 370.6 | 105 | 83.02 |
… |
相関係数行列
data <- read.csv("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/data/education-continuance-rate.csv", fileEncoding = "utf-8") summary(data) source("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/socialStatisticsBasic.R", encoding="UTF-8") #相関係数行列 correl(data[c(2:6)]) #2-6列目の項目で相関係数を求める。
correl関数(socialStatisticsBasic.Rで読み込まれる自作関数)
- correl(data,control,use,method)
-
相関係数行列ないしは偏相関係数行列を出力
- data=数値行列
- control=制御変数名(省略時は相関行列)
- use=c("pairwise","complete") 欠損値処理の方法
- method= c("pearson", "kendall", "spearman") 相関係数の種類
出力
$r education.continuance size.land income self.sufficiency densely education.continuance 1.0000000 -0.5734035 0.8715401 -0.5785065 0.6430943 size.land -0.5734035 1.0000000 -0.5405532 0.6316410 -0.6039012 income 0.8715401 -0.5405532 1.0000000 -0.6026016 0.7358364 self.sufficiency -0.5785065 0.6316410 -0.6026016 1.0000000 -0.4357514 densely 0.6430943 -0.6039012 0.7358364 -0.4357514 1.0000000 $p education.continuance size.land income self.sufficiency densely education.continuance NA 2.520772e-05 1.554312e-15 2.051862e-05 1.089520e-06 size.land 2.520772e-05 NA 8.769473e-05 1.925842e-06 6.984876e-06 income 1.554312e-15 8.769473e-05 NA 7.397550e-06 3.799413e-09 self.sufficiency 2.051862e-05 1.925842e-06 7.397550e-06 NA 2.202181e-03 densely 1.089520e-06 6.984876e-06 3.799413e-09 2.202181e-03 NA
大学進学率に対しては「一住宅あたりの敷地面積」「食料自給率」が負の相関、「平均所得」「人口密度」が正の相関である。
「都道府県」別データである事を忘れると「一住宅あたりの敷地面積」が負の相関である事が意外に思えるが、「人口密度」との兼ね合いを考えてみれば、理解できる結果であろう。
偏相関係数行列
「大学進学率」ともっとも相関が高い「平均所得」で統制して、偏相関係数を出してみよう。
correl(data[c(2:6)],control=c("income"))
出力
$partial.r education.continuance size.land self.sufficiency densely education.continuance 1.000000000 -0.2479664 -0.13625116 0.005371241 size.land -0.247966413 1.0000000 0.45561881 -0.361843465 self.sufficiency -0.136251164 0.4556188 1.00000000 0.014183556 densely 0.005371241 -0.3618435 0.01418356 1.000000000 $p education.continuance size.land self.sufficiency densely education.continuance NA 0.096599092 0.366584705 0.97173910 size.land 0.09659909 NA 0.001463304 0.01347479 self.sufficiency 0.36658471 0.001463304 NA 0.92546283 densely 0.97173910 0.013474789 0.925462835 NA
「大学進学率」に関わるすべての相関が消えてしまった。仮に統計的有意性を無視したとしても、相関係数自体もずいぶん小さな値となった。
しかし「平均所得」が他の指標を支える「原因」であるわけもない。ただ「平均所得」に表象されるなんらかの要素が大学進学率に大きな影響を及ぼしているとは言えるだろう。
念のため、「平均所得」をそれ以外のすべての変数で統制して、「大学進学率」との相関係数を調べてみる。
correl(data[c(2:6)],control=c("size.land","self.sufficiency","densely"))
$partial.r education.continuance income education.continuance 1.0000000 0.7249463 income 0.7249463 1.0000000 $p education.continuance income education.continuance NA 5.66043e-08 income 5.66043e-08 NA