備忘用。年を重ねるごとに物忘れが激しくなってしまうな。
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