您的位置:

使用esttab美化Stata回归结果

一、基本使用方法

esttab是可以帮助我们展示回归结果的一个Stata命令,它的优点是可以直接输出到外部文件(如Word、Excel、LaTeX等)。下面我们就来详细介绍esttab的基本用法。

首先,我们可以使用estimates命令来估计模型,比如:

sysuse auto
regress mpg weight length
estimates store model1

然后,我们可以使用esttab命令将回归结果输出为LaTeX表格。具体命令如下:

esttab model1 using "example.tex",title("回归结果") replace

其中,“using”是指定输出文件的名称和路径,“title”是指定表格标题,“replace”是指允许覆盖原文件。然后我们就可以在LaTeX文档中调用这个表格。

其输出的表格如下所示:

\begin{table}[htbp]\centering
\caption{回归结果}
\begin{tabular}{l c}
\hline\hline
            &         (1)\\
            &        mpg\\
\hline
weight      &    -0.00659\\
            &     (-2.23)\\
length      &      2.0512\\
            &      (7.15)\\
_cons       &     45.6402\\
            &     (5.10)\\
\hline
\(N\)       &         74\\
\hline\hline
\multicolumn{2}{l}{\footnotesize\textsuperscript{*} \(p<0.05\), \textsuperscript{**} \(p<0.01\), \textsuperscript{***} \(p<0.001\)}\\
\end{tabular}
\end{table}

二、添加注释和格式化

在默认情况下,esttab输出的表格可能比较原始,不太美观。这里我们就来介绍如何在esttab中添加注释和格式化表格。

对于添加注释,我们可以使用“cell()”选项。具体地说,我们可以在每个单元格后面添加一些注释,如下所示:

esttab model1 using "example.tex",title("回归结果"),cell(b($\beta$) se($\sigma$)) replace

其中,“cell”选项指定了单元格内容的格式和注释。上面的例子中,“b($\beta$)”指定了估计系数的格式为带有$ \beta $符号的内容,“se($\sigma$)”指定了标准误的格式为带有$ \sigma $符号的内容。

对于格式化表格,则需要使用“booktabs”命令。具体地,我们可以在esttab命令后面添加“style(booktabs)”来格式化表格。具体命令如下:

esttab model1 using "example.tex",title("回归结果"),cell(b($\beta$) se($\sigma$)),style(booktabs) replace

其输出的表格如下所示:

\begin{table}[htbp]\centering
\caption{回归结果}
\begin{tabular}{l c}
\toprule
            &         (1)\\
            &        mpg\\
\midrule
weight      &    -0.00659\\
            &     (-2.23)\\
length      &      2.0512\\
            &      (7.15)\\
_cons       &     45.6402\\
            &     (5.10)\\
\midrule
\(N\)       &         74\\
\bottomrule
\multicolumn{2}{l}{\footnotesize\textsuperscript{*} \(p<0.05\), \textsuperscript{**} \(p<0.01\), \textsuperscript{***} \(p<0.001\)}\\
\end{tabular}
\end{table}

三、使用estout自定义表格

除了使用esttab命令,我们也可以使用estout命令实现更加自由度的表格输出。具体地,我们可以使用estout命令来指定每一列输出的格式,例如添加星号标记或者展示合并的多个回归结果。下面我们介绍一些estout的常用选项。

1. 添加星号标记

我们可以使用“starlevels()”选项来指定输出星号标记的数量。例如,如果我们希望在表格中标记出显著性水平为95%的系数,我们可以使用下面的命令:

estout model1 using "example.tex", starlevels(* 0.05 ** 0.01 ***) replace

其中,“starlevels”选项指定了需要标记的显著性水平,每一个星号代表一种显著性水平。

2. 合并多个回归结果

假设我们需要展示多个回归结果,我们可以使用“cells()”选项来指定每个单元格输出的内容。具体地,我们可以使用方括号括起来的列名来指定包含哪些变量。例如,我们可以将两个回归结果合并为一个表格,如下所示:

sysuse nlsw88, clear
estimates clear
regress wks union black hisp exp expsq
estimates store model1
regress wks union hours
estimates store model2
estout model1 model2 using "example.tex", cells(b(star fmt(3)) se(star fmt(2))) varlabels(\multicolumn{1}{l}{}) replace

其中,“cells”选项指定了表格中每个单元格的输出内容,例如“b(star fmt(3))”表示输出系数的估计值和星号标记,格式为小数点后3位,“se(star fmt(2))”表示输出标准误和星号标记,格式为小数点后2位。

四、利用Markup命令增强表格内容

我们还可以使用Markup命令来增强表格内容,例如添加加粗或者斜体文本。具体命令如下:

estout model1 using "example.tex", cells(b(star fmt(3) markup("{\bfseries %6.2f}")) se(star fmt(2))) varlabels(\multicolumn{1}{l}{}) replace

其中,“markup()”选项指定了需要添加的加粗命令。也可以使用其它命令来增强表格内容。

五、总结

本文介绍了esttab的基本用法,并详细介绍了如何添加注释、格式化表格、使用estout实现更加自由度的表格输出以及利用Markup命令增强表格内容。希望这些技巧能够帮助你更好地展示Stata回归结果。