表の作成からファイル出力まで
Stataで推定結果の表を作成し、Excelファイルなどに出力するには collect コマンドを使用します。
ここでは、下記の画像のような表を collect コマンドで生成する手順をご紹介します。このページのサンプルコマンドをコピーしてDoファイルに貼り付け、
データと推定コマンドを書き換えていただくなどカスタマイズして実行いただくことで、表の作成からファイル出力の作業にお役立てください。
Excelファイル出力例
サンプルコマンド
はじめに、サンプルデータを読み込みます。
. sysuse auto, clear
collect コマンドをによって複数の推定結果を収集し、表を作成することができます。collect clear コマンドで収集結果をクリアして初期化します。 続いて、regress コマンドで2つの回帰モデルを推定します。このとき、collect プレフィクスを付けることで推定結果を収集できます。
. collect clear
. collect: regress mpg price weight if foreign
. collect: regress mpg price weight if !foreign
collect layou コマンドで表のレイアウトを指定します。 行側に独立変数(colname)、列側にコマンド(cmdset)別かつ推定結果(result)の係数(_r_b)と標準誤差(_r_se)ごとに値を表示します。
. collect layout (colname)(cmdset#result[_r_b _r_se])
列側のコマンドの表示が重複していますので、重複を排除します。collect preview コマンドで現行設定の表を結果ウィンドウに表示して確認できます。
. collect style column, nodelimiter dups(center) position(top) width(asis)
. collect preview
コマンドの表示には数字が割当てられていますが、ラベルを設定して表示することもできます。
. collect label levels cmdset 1 "Foreign" 2 "Domestic", modify
. collect style header cmdset, level(label)
. collect preview
列側の係数(Coefficient)と標準誤差(Std. error)の表示を省略形での標記に変更します。 "係数" や "標準誤差" など日本語を指定することも可能です。
. collect label levels result _r_b "Coef.", modify
. collect label levels result _r_se "S.E.", modify
. collect preview
次に、数値の表示形式を変更します。nformat(%9.3f) オプションを指定することで、全体9桁で小数以下3桁の固定長数値で表示します。
また、標準誤差には sformat((%s)) オプションを指定して括弧付きで表示します。
. collect style cell result[_r_b], warn nformat(%9.3f)
. collect style cell result[_r_se], warn nformat(%9.3f) sformat((%s))
. collect preview
さらに、表に観測数と決定係数を追加します。そのために、タグの設定を行う必要があります。
まず新しいタグ extra[N] と extra[Rsquared] を生成し、観測数(result[N])と決定係数(result[r2])にタグを付与します。
. collect addtags extra[N], fortags(result[N])
. collect addtags extra[Rsquared], fortags(result[r2])
推定結果(result)の観測数(N)と決定係数(r2)に対して、係数(_r_b)のラベルを割当てます。
. collect recode result N=_r_b r2=_r_b
行側に extra を追加し、表のレイアウトを改めて設定します。
. collect layout (colname extra) (cmdset#result[_r_b _r_se])
決定係数のラベルを編集し、観測数と決定係数の表示形式を変更します。
. collect label levels extra Rsquared "R-squared"
. collect style cell extra[N]#result, halign(right) nformat(%4.0f)
. collect style cell extra[Rsquared]#result, halign(right) nformat(%6.4f)
. collect preview
罫線を引いて表の完成です。
. collect style cell colname[_cons], border(bottom, pattern(single))
. collect preview
最後にExcelファイルとして出力します。作業フォルダに result.xlsx が生成されます。
. collect export "result.xlsx", as(xlsx) sheet(Sheet1) cell(B2) replace