Stata 如何创建一个包含普通和稳健标准错误的表?

Stata 如何创建一个包含普通和稳健标准错误的表?,stata,Stata,我经常在出版物中看到回归表,其中普通标准误差报告在括号中,稳健标准误差报告在普通标准误差下面的括号中。这些表格还包括括号/方括号旁的星号,表示统计意义 创建这样的回归报告最明智的方法是什么 到目前为止,我一直在Stata中使用estout包。对于一个给定的模型,我可以有一列带有普通标准误差,另一列带有稳健误差 例如,使用estout,我可以执行以下操作: eststo: qui reg ROE duality eststo: qui reg ROE duality, vce(cluster fi

我经常在出版物中看到回归表,其中普通标准误差报告在括号中,稳健标准误差报告在普通标准误差下面的括号中。这些表格还包括括号/方括号旁的星号,表示统计意义

创建这样的回归报告最明智的方法是什么

到目前为止,我一直在Stata中使用estout包。对于一个给定的模型,我可以有一列带有普通标准误差,另一列带有稳健误差

例如,使用estout,我可以执行以下操作:

eststo: qui reg ROE duality
eststo: qui reg ROE duality, vce(cluster firm)

esttab b(%9.3fc) ///                     
       se(%9.3fc) ///
       star (* 0.5 ** 0.25)
上述代码段生成:

--------------------------------------------
                (1)             (2)   
                ROE             ROE   
--------------------------------------------
duality       -8.090**        -8.090*   
              (6.585)         (7.067)   
--------------------------------------------
N               647             647   
--------------------------------------------
但是,此表浪费了列空间,因为两列的点估计值是相同的,唯一的区别是不同方差-协方差估计值的标准误差

我更希望有一张像下面这样的桌子:

 ------------------------
                (1)      
                ROE      
-------------------------
duality       -8.090     
              (6.585)** 
              [7.067]*   
-------------------------
N               647      
-------------------------

请注意,0.5和0.25处的统计显著性指示仅用于此处的说明,当然不反映惯例。

您只需手动添加稳健标准误差:

sysuse auto, clear
eststo clear

quietly regress price weight mpg, vce(robust)
matrix regtab = r(table)
matrix regtab = regtab[2,1...]
matrix rbse = regtab

eststo: quietly regress price weight mpg

estadd matrix rbse = rbse
esttab, cells(b se rbse)

-------------------------
                      (1)
                    price
                b/se/rbse
-------------------------
weight           1.746559
                 .6413538
                  .777837
mpg             -49.51222
                 86.15604
                  95.8074
_cons            1946.069
                  3597.05
                 4213.793
-------------------------
N                      74
-------------------------
将其格式化为您的规格要求使用相关选项:

esttab , cells("b(fmt(a3) star)" "se(fmt(a2) par)" "rbse(fmt(a2) par([ ]))") ///
star(* 0.5 ** 0.25)  addnote("Robust SE in brackets" "* p<0.5, ** p<0.25") ///
nonumbers

---------------------------
                    price  
                b/se/rbse  
---------------------------
weight              1.747**
                   (0.64)  
                   [0.78]  
mpg                -49.51  
                   (86.2)  
                   [95.8]  
_cons              1946.1  
                 (3597.0)  
                 [4213.8]  
---------------------------
N                      74  
---------------------------
Robust SE in brackets
* p<0.5, ** p<0.25

您只需手动添加鲁棒标准错误:

sysuse auto, clear
eststo clear

quietly regress price weight mpg, vce(robust)
matrix regtab = r(table)
matrix regtab = regtab[2,1...]
matrix rbse = regtab

eststo: quietly regress price weight mpg

estadd matrix rbse = rbse
esttab, cells(b se rbse)

-------------------------
                      (1)
                    price
                b/se/rbse
-------------------------
weight           1.746559
                 .6413538
                  .777837
mpg             -49.51222
                 86.15604
                  95.8074
_cons            1946.069
                  3597.05
                 4213.793
-------------------------
N                      74
-------------------------
将其格式化为您的规格要求使用相关选项:

esttab , cells("b(fmt(a3) star)" "se(fmt(a2) par)" "rbse(fmt(a2) par([ ]))") ///
star(* 0.5 ** 0.25)  addnote("Robust SE in brackets" "* p<0.5, ** p<0.25") ///
nonumbers

---------------------------
                    price  
                b/se/rbse  
---------------------------
weight              1.747**
                   (0.64)  
                   [0.78]  
mpg                -49.51  
                   (86.2)  
                   [95.8]  
_cons              1946.1  
                 (3597.0)  
                 [4213.8]  
---------------------------
N                      74  
---------------------------
Robust SE in brackets
* p<0.5, ** p<0.25

请注意,通过将稳健p值包括在估计集中,然后使用单元格内的PVValue子选项选择它们,可以分别为常规标准误差和稳健标准误差显示适当的显著性指示。以下是一个例子:

sysuse auto

regress price weight mpg
est sto m1
regress price weight mpg, vce(robust)
matrix table = r(table)
matrix r_se = table[2,1...]
matrix r_p = table[4,1...]
estadd matrix r_se: m1
estadd matrix r_p: m1

regress price weight mpg turn
est sto m2
regress price weight mpg turn, vce(robust)
matrix table = r(table)
matrix r_se = table[2,1...]
matrix r_p = table[4,1...]
estadd matrix r_se: m2
estadd matrix r_p: m2

esttab m1 m2, mtitle nonumber            ///
   cell(b(fmt(a3))                       ///
        se(par star)                     ///
        r_se(par([ ]) star pvalue(r_p))  ///
        )                                ///
    note(@starlegend)

--------------------------------------------
                       m1              m2   
                b/se/r_se       b/se/r_se   
--------------------------------------------
weight              1.747           3.524   
                  (0.641)**       (0.817)***
                  [0.778]*        [1.159]** 
mpg                -49.51          -72.87   
                  (86.16)         (81.30)   
                  [95.81]         [97.07]   
turn                               -395.2   
                                  (122.6)** 
                                  [177.4]*  
_cons              1946.1         12744.2   
                 (3597.0)        (4760.1)** 
                 [4213.8]        [6429.0]   
--------------------------------------------
N                      74              74   
--------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001

请注意,通过将稳健p值包括在估计集中,然后使用单元格内的PVValue子选项选择它们,可以分别为常规标准误差和稳健标准误差显示适当的显著性指示。以下是一个例子:

sysuse auto

regress price weight mpg
est sto m1
regress price weight mpg, vce(robust)
matrix table = r(table)
matrix r_se = table[2,1...]
matrix r_p = table[4,1...]
estadd matrix r_se: m1
estadd matrix r_p: m1

regress price weight mpg turn
est sto m2
regress price weight mpg turn, vce(robust)
matrix table = r(table)
matrix r_se = table[2,1...]
matrix r_p = table[4,1...]
estadd matrix r_se: m2
estadd matrix r_p: m2

esttab m1 m2, mtitle nonumber            ///
   cell(b(fmt(a3))                       ///
        se(par star)                     ///
        r_se(par([ ]) star pvalue(r_p))  ///
        )                                ///
    note(@starlegend)

--------------------------------------------
                       m1              m2   
                b/se/r_se       b/se/r_se   
--------------------------------------------
weight              1.747           3.524   
                  (0.641)**       (0.817)***
                  [0.778]*        [1.159]** 
mpg                -49.51          -72.87   
                  (86.16)         (81.30)   
                  [95.81]         [97.07]   
turn                               -395.2   
                                  (122.6)** 
                                  [177.4]*  
_cons              1946.1         12744.2   
                 (3597.0)        (4760.1)** 
                 [4213.8]        [6429.0]   
--------------------------------------------
N                      74              74   
--------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001

谢谢珍珠!这与我的想法非常接近,但由于SEs也决定了统计显著性的水平,是否有可能在SEs处显示显著性而不是点估计值?我注意到第6行和第7行可以通过使用矩阵rbse=regtab[2,1…]更简洁,但我明白,对于像我这样的新手来说,原始代码可能更容易解码。是的,第6行和第7行可以合并为一行。关于恒星,你可以通过改变星选项,即BFMTA3和SEFMTA2 PAR星来得到你喜欢的地方。我尝试过,使用CelsBFMTA3 SEFMTA2星RbSefMtA2 PA[]星星* 0.05 ** 0.01,但是意义的指示似乎遵循最后一次RAND回归之一。也就是说,普通SE和健壮SE都有两颗星,而普通SE应该有两颗星,健壮SE应该有一颗星。我不确定你是否可以绕过这个问题。这就是estout的编码方式,所以我建议您联系它的作者。谢谢Pearly!这与我的想法非常接近,但由于SEs也决定了统计显著性的水平,是否有可能在SEs处显示显著性而不是点估计值?我注意到第6行和第7行可以通过使用矩阵rbse=regtab[2,1…]更简洁,但我明白,对于像我这样的新手来说,原始代码可能更容易解码。是的,第6行和第7行可以合并为一行。关于恒星,你可以通过改变星选项,即BFMTA3和SEFMTA2 PAR星来得到你喜欢的地方。我尝试过,使用CelsBFMTA3 SEFMTA2星RbSefMtA2 PA[]星星* 0.05 ** 0.01,但是意义的指示似乎遵循最后一次RAND回归之一。也就是说,普通SE和健壮SE都有两颗星,而普通SE应该有两颗星,健壮SE应该有一颗星。我不确定你是否可以绕过这个问题。这就是estout的编码方式,因此我建议您联系其作者。