今回は都道府県別の財政力指数を分析しようと思います。
財政力指数とは、
政府統計の総合窓口(e-Stat)にありました。地方公共団体の財政力の強さを表す指標だそうです。
このデータをCSVファイルにダウンロードして、R言語で分析します。
read.csv関数でCSVにあるデータをR言語に読込みます。
na.omit関数でNAのある行を削除します。
as.character関数でファクターを文字列に直します。
as.character関数で文字列をファクターに直します。
summary関数で各変数の統計値を出します。Prefの各都道府県の度数が42とありますから、42年間のデータがあることがわかります。
Zaiが財政力指数です。47都道府県 X 42年間 = 1974個のデータの最小値が0.1970で最大値が1.6395です。平均値は0.4749, 中央値は0.4305です。
まずは、hist関数で財政力指数のヒストグラムを描いてみましょう。
右側の裾野が広い分布ですね。
年度ごとの箱ひげ図をplot関数で描きます。
箱ひげ図の上にある外れ値を見ると、1990年近辺が高いですね。
tapply関数で年度別の平均値を算出してみます。
tapply関数で年毎の財政力指数の平均値を出し、それをnengotoという名前のオブジェクトとして保存します。
as.data.frame関数でnengotoをデータフレーム型に変換します。
rownames関数を使って、Yearという名前で年度を表す変数を追加します。
as.character関数でYearを文字列型に変換します。
substr関数でYearのはじめの4文字、つまり、1975とか1976だけを抜き取ります。
as.numeric関数で文字列を数値に変換します。
head関数ではじめの6行だけを表示しました。
こうして、nengotoという名前のデータフレームができましたから、plot関数で年毎に平均値がどのように推移しているか見てみましょう。
上に行ったり、下に行ったりしていますね。
table関数でYearの度数を確認しました。一番最新の年度が2016年度ですね。2016年度のデータで分析しましょう。
df1$Year == "2016年度"という方法で2016年度のみのデータフレームにしました。
財政力指数の高いところ、低いところを見てみましょう。
まず、Zai2016という名前のベクトルをつくり、そこの財政力指数のデータを入れます。そして、names関数で都道府県名の属性を加えます。
そして、sort関数で小さい順に並び替えました。島根県、高知県、鳥取県などが低く、東京都、愛知県、神奈川県などが財政力指数が高いです。
この財政力指数を人口(Pop)と面積(Area)で回帰分析してみましょう。
左の散布図が人口と財政力指数、右が面積と財政力指数です。人口とは正の相関のようです。面積はあんまり関係なさそうです。
lm関数で線形回帰モデルを作って分析します。
モデルのp-valueは1.829e-14なので0.05よりも小さく有意です。
Pop2016:Area2016は不要のようです。
新しいモデルを調べてみます。
こちらのモデルのほうが、p-valueは低く、Adjusted R-squaredは高いのでこちらのモデルのほうがいいですね。
Pop2016はp値あ3.77e-16で有意、Area2016も0.0172で有意です。
人口が多いほど、面積が狭いほど、財政力指数は高まるということですね。
人口密度が高いほど財政力指数は高いのでしょうね。検証してみましょう。
このモデル(model2)も有意ですが、model2のほうがいいですね。
model2の残差グラフを描いてみます。
栃木県、群馬県、静岡県は、モデルの推定する財政力指数よりも実際の指数のほうが高いのですね。
今回は以上です。