crosshyou

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

都道府県別の定期健康診断結果報告のデータ分析7 - R言語でパネルデータを回帰分析する。

UnsplashLeopold Stengerが撮影した写真 

www.crosshyou.info

前回は年と都道府県も説明変数に加えてtworatioを重回帰分析してみました。その結果、l_num: 健康診断を実施した事業場数の対数変換値はtworatioを説明する有意な変数ではないことがわかりました。

今回は、データフレームをパネルデータとして同じように分析してみます。

まず。plmというパッケージを読み込みます。

そして、pdata.frame()関数でデータフレームをパネルデータフレームに変換します。

pdata.frame()という関数でデータフレームをパネルデータフレームに変換します。

pdata.frame(データフレーム, index = c(id, time)) という構文です。

pdim()関数でパネルデータになっていることを確認します。n = 47 なので47都道府県、T = 3 なので3年間のデータ、N = 141 なので全部で141の観測数だとわかります。Balanced Panelなので、どの年も47都道府県のデータがあることがわかります。

パネルデータフレームの回帰分析は、plm()関数を使います。

まずは、first differenced 方式で分析してみます。

model = "fd" と指定すると、first differenced estimator になります。l_numの係数はマイナスの0.03678で、p値は0.377なので有意な結果ではありません。

次は、fixed effect estimatorで推計します。

model = "within" だとFixed Effect Estimatorになります。l_numの係数はプラスの0.019343でp値は0.6601なので有意な値ではないです。

三つ目はRandom Effect Estimatorです。

model = "random"でRandom Effects Estimatorになります。l_numの係数はマイナスの0.0288でp値は0.05より小さく有意な値となりました。

四つ目は単純なPooling OLSです。パネルデータということを無視して単純にOLSで推計します。

l_numの係数はマイナスの0.0321882でp値は0.05よりも小さいの有意です。

こうして作成した4つの回帰モデルをstargazerパッケージのstargazer()関数で見やすい表にして出力しましょう。

今回は以上です。

今回使用した関数は、

library(): パッケージの読み込み

pdata.frame(): データフレームをパネルデータフレームに変換

pdim(): パネルデータの構造を確認

plm(): パネルデータの回帰分析

summary(): 回帰分析の結果を出力

stargazer(): 回帰分析の結果の表を作成

使用したパッケージは

plmパッケージ

stargazerパッケージ
でした。

次回は

 

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。