しまうまのRでデータ分析入門【全6講】では、統計解析用のプログラミング言語Rで重回帰分析を行い、R MarkdownでPDF化するまでを解説します。
4講の内容は「重回帰分析をする」です。次の2段階で解説します。
第一段階:重回帰分析をする
第二段階:重回帰分析の結果を出力する
要点
(1)重回帰分析をする
次のようなコードで重回帰分析ができます。
lm(y ~ x1 + x2, data=data1)
詳細はsummaryで確認できます。
reg1 <- lm(y ~ x1 + x2, data=data1)
summary(reg1)
(2)重回帰分析の結果を出力する
stargazerを用いると綺麗な結果表を出力できます。
stargazer(reg1, title = "Table1",out="reg1.html")
第一段階:重回帰分析をする
(0)準備
重回帰分析するデータを準備します。パッケージwooldridgeにあるデータセット savingを使います。
#wooldridgeのインストール。初回インストール時のみ
install.packages(wooldridge)
#データセットのパッケージwooldridgeを呼び出す
library(wooldridge)
#所得に関するデータセット
wage2
(1)重回帰モデルを作る
データセットwage2には
・wage:月収(ドル)
・educ:教育年数
・IQ:知能指数
・black:黒人なら1、その他なら0というダミー変数
が入っています。そこで次のような重回帰モデルを考えたとしましょう。
$$(wage)$$
$$=\beta_0 +\beta_1 (educ) + \beta_2 (IQ) +\beta_3 (black)+U $$
(2)重回帰分析をする lm関数
上の重回帰分析は次のコードで実行できます。非常に簡単です。↓
lm(wage ~ educ + IQ + black, data=wage2)
次の結果が表示されます。↓

つまり、次の回帰式が計算されたことになります。
$$(wage)$$
$$=4.137 +42.639 (educ) + 3.920 (IQ) -136.192 (black)+U $$
(3)詳細を見る summary関数
summaryを使うことでより詳細な結果を見ることができます。
#回帰分析をしてreg1と名前をつける
reg1 <- lm(wage ~ educ + IQ + black, data=wage2)
#modelの詳細をみる
summary(reg1)
これを実行すると、次の結果が出力されます。↓

第二段階:重回帰分析の結果を出力する
(1)stargazerのインストール
綺麗な出力ができるパッケージstargazerをインストールしてください。
#stargazerのインストール。初回インストール時のみ
install.packages(stargazer)
(2)stargazerの呼び出し
綺麗な出力ができるパッケージstargazerを呼び出してください。
#表の出力に便利なパッケージstargazerを呼び出す
library(stargazer)
(3)stargazerによる回帰分析の結果の出力
reg1の結果は、次のコードにてhtmlファイルで出力できます。
stargazer(reg1, title = "Table1",out="reg1.html")
そして、今使っている作業ディレクトリを見ると、次の「reg1.html」があります。それを開くと次の結果表が出力されています。

もし作業しているディレクトリがわからなくなったら、次のコードを実行することで場所がわかります。↓
#ディレクトリの確認
getwd()
これを実行すると、例えば次が出力されます。これは「デスクトップ(Desktop)」にある「Hello_R」というファイルが作業ディレクトリであることを意味します。↓
> getwd()
[1] "/Users/(ユーザー名)/Desktop/Hello_R"
(4)複数の回帰分析結果を表示する
複数の回帰分析結果を載せることもできます。reg2からreg4までを作り、それを表にまとめます。
reg2 <- lm(wage ~ educ, data=wage2)
reg3 <- lm(wage ~ educ + IQ, data=wage2)
reg4 <- lm(wage ~ educ + IQ + black, data=wage2)
stargazer(reg2, reg3, reg4, title = "Table2",out="reg123.html", omit.stat = c("rsq", "f", "ser"))
#omit.stat ~で、決定係数、F統計量、残差の標準偏差を除いた
これで次の表が出力できます。↓

付録:Rを勉強できるサイト
・しまうま総研「R入門」:初心者がRをインストールして重回帰分析するまで解説します。
・しまうま総研「Rコード集」:Rのコードについて解説します。
・矢内勇生「RとRStudioのインストール方法の解説」:Rのインストール方法が詳しく書いてあります。
・森知晴「卒業論文のためのR入門」:昔のしまうまがお世話になったサイトです。コンセプトも似ていて、内容も参考にしました。「Rでデータ分析入門」では扱っていない内容も多く含みます。
・北川梨津「西山 他『計量経済学』のためのR」:有斐閣の分厚い計量経済学の本の実証例を再現するためのコードが書かれているサイトです。
・土井翔平「Rで計量政治学入門」:データの操作、可視化、収集について詳しく書かれたサイトです。
カテゴリー