Rで学ぶ統計講座(初級)

Rによる相関行列と偏相関係数

都道府県別大学進学率データを用いる。

都道府県別大学進学率データより、大学進学率と関わりのある項目は何かを分析したい。

使用データ
大学進学率学校基本調査2016年
一住宅あたり敷地面積社会生活統計指標2008年
平均所得賃金構造基本統計調査2015年
食料自給率農林水産省2013年
人口密度2016年
都道府県大学進学率一住宅あたり敷地面積平均所得食料自給率人口密度
北海道42.8276410.219868.25
青森37.2351358.7118134.68
岩手37.3392370.610583.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