Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の15歳~64歳人口割合、1人当たり県民総所得、1人当たり最終エネルギー消費のデータの分析4 - 東京都をダミー変数にして回帰分析

(Bing Image Creator で生成: プロンプト: Close up of yellow Crocus flowers, background is higher beautiful mountain, photo)

 

www.crosshyou.info

の続きです。

前回は、東京都を含んだ状態と除いた状態で回帰分析しました。

そこで今回は、東京都を表すダミー変数を作成して回帰分析してみましょう。

まず、東京都なら 1 を、そうでないなら 0 を表すダミー変数を作成します。

そして、この tokyo も加えて回帰分析してみます 。

tokyo の係数が 2006.15 です。これは、東京都は他の道府県の平均値と比較して200万円も1人当たり県民総所得が高いということです。200万円ってすごいですよね。

summary() 関数で model2 を確認します。

popratio の係数の 47.87 は前回の東京都を除いて回帰分析したときの係数と同じです。

R-squared が 0.7215 と前回の model1 の 0.3795, model1_ex_tokyo の 0.1938 と比較して大きくなっています。

plot() 関数でグラフを描きます。

左側の2つのグラフを見る感じでは、残差は不均一分散ではないようです。

bptest() 関数で確認します。

p-value が 0.4273 なのでやはり、不均一分散ではないといえます。

p-value が 0.4445 となっていますので、こちらの方法でも同じ結果です。

最後に stargazer パッケージの stargazer() 関数で3つのモデルをまとめて表示します。

(2) の列が、東京都を除いて回帰分析した結果で、(3) の列が東京都のダミー変数を追加した結果です。popratio の係数の値と標準誤差の値、切片と標準誤差の値が同じであることがわかります。

model1 と model2 を比べると東京都がいかに他の道府県とは違っているか実感できます。

今回は以上です。

次回は

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。

今回のコードは以下になります。

#
# 東京都なら 1 のダミー変数を作成
df_2020 <- df_2020 |> 
  mutate(tokyo = if_else(pref == "東京都", 1, 0))
#
# income を popratio と tokyo で回帰分析する
model2 <- lm(income ~ popratio + tokyo,
             data = df_2020)
model2
#
# model2 のサマリー
summary(model2)
#
# model2 のグラフ
par(mfrow = c(2, 2))
plot(model2)
par(mfrow = c(1, 1))
#
# Breush-Pagan Test
lmtest::bptest(model2)
#
# 残差の2乗をpopratio, tokyoで回帰分析
lm(I(model2$residuals^2) ~ df_2020$popratio + df_2020$tokyo) |> 
  summary()
#
# model1, model1_ex_tokyo, model2の比較
library(stargazer)
stargazer(model1, model1_ex_tokyo, model2,
          type = "text")
#