2016年7月9日土曜日

綺麗な表の作り方(Stataのoutreg2)

論文に載っているような綺麗な表を出力するためのoutreg2というコマンドがStataにはある。デフォルトの設定はすぐに使えるようになったのだが、必要な各種統計量を表に自動的に追加するオプションの使い方がいまいちわからず本日は無駄な時間を使ってしまった(マニュアルで追加すれば一瞬で終わる)。

今週は時間と戦っているのでこんな非本質的なことに時間を使っている場合ではなかった。ただ、せっかく学んだので備忘録としてメモしておく。

なお、outreg2は以下のコードでインストールする。説明はこのブログを読まなくてもいろいろなところにあるが、例えばここに詳しい。

ssc install outreg2

以下は、y1 x1 x2 x3 x4という変数を用いて、Pooled-OLS推定、固定効果推定、ランダム効果推定をした後に、outreg2で表を出力するコードである。outreg2のデフォルトの出力(係数、標準誤差、R2乗、N)に加えて、各モデルにそれぞれの推定方法の名前をつけ、Between R-Squared、Within R-Squared(注1)、Overall R2-Squared、sigma_u、sigma_eにそれぞれ名前をつけた上で表の最後に追加し、エクセルファイルに出力されるようにしてある。ワードファイルに出力したい場合、.docに変更すれば良い。

コードは以下の通り。少なくともStata14がインストールされている私のmacbookairでは走った。

xtset id time
quietly reg y1 x1 x2 x3 x4
outreg2 using myreg.xls, replace ctitle(Pooled OLS)
quietly xtreg y1 x1 x2 x3 x4 ,fe
outreg2 using myreg.xls, addstat(Within R-squared, e(r2_w), Between R-squared, e(r2_b),Overall R-squared, e(r2_o), sigma_u, e(sigma_u),sigma_e, e(sigma_e)) append ctitle(Fixed Effects)
quietly y1 x1 x2 x3 x4,re
outreg2 using myreg.xls, addstat(Within R-squared, e(r2_w), Between R-squared, e(r2_b),Overall R-squared, e(r2_o), sigma_u, e(sigma_u),sigma_e, e(sigma_e)) append ctitle(Random Effects)

もっとかっこ良い書き方があると思う。私はStata歴2ヶ月強なのでゆるしていただきたい。ただ、一応これでも綺麗な表は出力されるはず。検索でたどり着いた方は試してみてください。なお、Stataに関しては英語で情報がたくさんネットに上がっているので英語で検索されることをおすすめする。

(注1)この場合、固定効果モデルにおけるWithin R2-SquaredとOLS推定のR2-Squaredは一致する。

0 件のコメント:

コメントを投稿