論理の流刑地

流罪に遭い戸惑う世捨人の雑記

Stataで出力したregression tableをcsv形式で出力 by estoutパッケージ

備忘用。年を重ねるごとに物忘れが激しくなってしまうな。

Motivation

Stataで回帰分析を行なった結果をExcelにうつすときのやりかた(これがbestかはわからん)。

Texで出力するのがスタンダードでスマートなのはわかっているが、
実際の仕事だと(例えば出版社に回帰分析の元表を提出するときなど)Excelベースの管理が一般的という事情もある。

あとMacユーザだと、Excelでregression tableを作っておけば、
その部分を選択コピーしてからプレビューを開いて、command + Nで比較的綺麗に画像形式(pdfファイル)に変換できるというのがコスパがよくて重宝する。

そうなると(Texの習得に費やす労力も考えると)やっぱりExcelにベタ貼りできるような形で整形・出力してくれるようにしたくなるのだ。

"estout"パッケージ。

ふだんあまりStataを使わないこともあって調べ方が悪いのかもしれないが、 標準で実装されている機能であまり御誂え向きなものはなかった。 今の所、Excelに貼り付けられそうな形での出力になじんだパッケージとしてestoutを利用するのが、 それなりに簡単で、実用にたえうる手段であるように認識している。
※outreg2というのもあるらしいけどよくわからない。

以下、参考URL

install

Stataのコンソールで以下を実行。

ssc install estout, replace 

eststo関数によりtableを保存

たとえば普通の重回帰分析を2本推定して、それを並べた表を出力したい時。
まず、以下のように、回帰分析の結果を保存する。

*Model1: 従属変数yをx1,x2で回帰 
quietly reg y x1 x2 

*mdl1という名前をつけて保存 
eststo mdl1 

*Model2 : 従属変数yをx1,x2, x3で回帰 
quietly reg y x1 x2 x3

*mdl2という名前で保存する
eststo mdl2

esttab関数により、csvファイルに出力。

上の手続きで、回帰分析の推定結果を保存したのちに、
esttab関数のusingオプションを使うことで、csvファイルとして出力できる。

以下は、上で保存した結果を

  • デスクトップにcsv形式で「tbl1.csv」という名前で保存。
  • 統計量としては調整済R自乗、対数尤度、AIC, BICを出力
  • 標準誤差は丸括弧(parentheses)でなく角括弧(brackets)にする。
  • Model名を「Model1」「Model2」と指定
  • 回帰係数、標準誤差ともに、小数点以下4桁まで表示する。

といった形式で出力するときのプログラムである。

esttab mdl1 mdl2 using "/Users/Ronri_Rukeichi/Desktop/tbl1.csv" , /*
*/replace b(4) se(4)  ar2  scalar(ll) aic bic brackets mtitles("Model1"  "Model2") 

以下補足

  • scalarsの中に指定できる統計量については、このページのExample3を参照。例えばパラメータ数も表示したい時はscalars(ll rank)と指定する。
  • 詳しい構文はesttabのhelpを参照。


場合によってはspost9アドインが求められるが、そのときは以下のプログラムを実行する

net install spost9_ado