Stata 如何使用estout堆叠方程式?

Stata 如何使用estout堆叠方程式?,stata,Stata,我正在使用社区贡献的命令estout创建摘要统计表 代码如下所示: sysuse auto, clear eststo clear eststo: estpost ttest price mpg weight headroom trunk if rep78 ==3, by(foreign) eststo: estpost ttest price mpg weight headroom trunk if rep78 ==4, by(foreign) estout, cells("mu_1 mu_2

我正在使用社区贡献的命令
estout
创建摘要统计表

代码如下所示:

sysuse auto, clear
eststo clear
eststo: estpost ttest price mpg weight headroom trunk if rep78 ==3, by(foreign)
eststo: estpost ttest price mpg weight headroom trunk if rep78 ==4, by(foreign)
estout, cells("mu_1 mu_2 b(star)") 
结果如下:

--------------------------------------------------------------------------------------------
                 est1                                      est2                             
                 mu_1         mu_2            b            mu_1         mu_2            b   
--------------------------------------------------------------------------------------------
price        6607.074     4828.667     1778.407        5881.556     6261.444    -379.8889   
mpg                19     23.33333    -4.333333        18.44444     24.88889    -6.444444** 
weight       3442.222         2010     1432.222***     3532.222     2207.778     1324.444***
headroom     3.222222     2.666667     .5555556        3.444444          2.5     .9444444*  
trunk        15.59259     12.33333     3.259259        16.66667     10.33333     6.333333** 

--------------------------------------------------------------------------------------------

我想知道如何将
est1
est2
堆叠在一起。

命令
estout
无法自动堆叠存储的估算结果。因此,
eststo
的使用是多余的。在这种情况下,获得所需输出的最简单方法是简单地创建两个矩阵,并将结果叠加在另一个矩阵上

例如:

sysuse auto, clear

matrix A = J(5, 3, .)

local i 0
foreach var of varlist price mpg weight headroom trunk {
    local ++i
    ttest `var'  if rep78 == 3, by(foreign)
    matrix A[`i', 1] = r(mu_1)
    matrix A[`i', 2] = r(mu_2)
    matrix A[`i', 3] = r(mu_1) - r(mu_2)
    local matnamesA `matnamesA' "rep78==3:`var'"
}

matrix rownames A = `matnamesA'

matrix B = J(5, 3, .)

local i 0
foreach var of varlist price mpg weight headroom trunk {
    local ++i
    ttest `var'  if rep78 == 4, by(foreign)
    matrix B[`i', 1] = r(mu_1)
    matrix B[`i', 2] = r(mu_2)
    matrix B[`i', 3] = r(mu_1) - r(mu_2)
    local matnamesB `matnamesB' "rep78==4:`var'"
}

matrix rownames B = `matnamesB'

matrix C = A \ B


命令
estout
无法自动堆叠存储的估算结果。因此,
eststo
的使用是多余的。在这种情况下,获得所需输出的最简单方法是简单地创建两个矩阵,并将结果叠加在另一个矩阵上

例如:

sysuse auto, clear

matrix A = J(5, 3, .)

local i 0
foreach var of varlist price mpg weight headroom trunk {
    local ++i
    ttest `var'  if rep78 == 3, by(foreign)
    matrix A[`i', 1] = r(mu_1)
    matrix A[`i', 2] = r(mu_2)
    matrix A[`i', 3] = r(mu_1) - r(mu_2)
    local matnamesA `matnamesA' "rep78==3:`var'"
}

matrix rownames A = `matnamesA'

matrix B = J(5, 3, .)

local i 0
foreach var of varlist price mpg weight headroom trunk {
    local ++i
    ttest `var'  if rep78 == 4, by(foreign)
    matrix B[`i', 1] = r(mu_1)
    matrix B[`i', 2] = r(mu_2)
    matrix B[`i', 3] = r(mu_1) - r(mu_2)
    local matnamesB `matnamesB' "rep78==4:`var'"
}

matrix rownames B = `matnamesB'

matrix C = A \ B