首页 > 解决方案 > Stata:结合多个 estpost 结果

问题描述

我正在尝试将我从 estpost tabulate 获得的 cumpct 结果与我从 estpost tabstat 获得的汇总统计数据结合到一个 esttab 输出中。但是,通过使用下面的代码,我得到了一个空白的 cumpct 列。我相信问题源于我存储 cumpct 矩阵的方式,但不幸的是,我找不到解决方案。

clear
input float A wage
1 100
3 450
2 180
2 190
1  70
4 880
3  65
5  40
1  144
4  28
5  110
end



     * tabulation
        estpost tabulate A
        matrix cumpct=e(cumpct)

     * Summary Stats
        estpost tabstat wage, ///
        statistics(mean sd p25 p50 p75) ///
        columns(statistics) by(A) 

     * Esttab
        esttab ., replace  ///
        cells("cumpct mean sd p25 p50 p75")

我得到的结果如下:


------------------------------------------------------------------------------------------
                      (1)                                                                 
                                                                                          
                   cumpct         mean           sd          p25          p50          p75
------------------------------------------------------------------------------------------
1                             104.6667     37.22007           70          100          144
2                                  185     7.071068          180          185          190
3                                257.5     272.2361           65        257.5          450
4                                  454      602.455           28          454          880
5                                   75     49.49747           40           75          110
Total                         205.1818     252.3192           65          110          190
------------------------------------------------------------------------------------------
N                      11                                                                 
------------------------------------------------------------------------------------------

. 

标签: stata

解决方案


在运行后的示例中:

estpost tabstat wage, ///
        statistics(mean sd p25 p50 p75) ///
        columns(statistics) by(A)

e() 中存储的是:

. ereturn list

scalars:
                  e(N) =  11

macros:
                e(cmd) : "estpost"
             e(subcmd) : "tabstat"
              e(stats) : "mean sd p25 p50 p75"
               e(vars) : "wage"
              e(byvar) : "A"

matrices:
               e(mean) :  1 x 6
                 e(sd) :  1 x 6
                e(p25) :  1 x 6
                e(p50) :  1 x 6
                e(p75) :  1 x 6

所以当你跑

esttab ., replace  ///
        cells("cumpct mean sd p25 p50 p75")

cumpct 未找到,因此将丢失。

可以使用一个小的帮助程序手动将累积矩阵添加到 e() 中。

clear
input float A wage
1 100
3 450
2 180
2 190
1  70
4 880
3  65
5  40
1  144
4  28
5  110
end

// Helper program
cap program drop add_e
program add_e, eclass
    args name matrix
    ereturn matrix `name' = `matrix'
end

* tabulation
estpost tabulate A
matrix cumpct=e(cumpct)

* Summary Stats
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A) 

add_e "cumpct" cumpct

* Esttab
esttab ., replace  ///
cells("cumpct mean sd p25 p50 p75")

结果:


------------------------------------------------------------------------------------------
                      (1)                                                                 
                                                                                          
                   cumpct         mean           sd          p25          p50          p75
------------------------------------------------------------------------------------------
1                27.27273     104.6667     37.22007           70          100          144
2                45.45455          185     7.071068          180          185          190
3                63.63636        257.5     272.2361           65        257.5          450
4                81.81818          454      602.455           28          454          880
5                     100           75     49.49747           40           75          110
Total                         205.1818     252.3192           65          110          190
------------------------------------------------------------------------------------------
N                      11                                                                 
------------------------------------------------------------------------------------------

推荐阅读