如何将ttest结果添加到esttab

How to add ttest results to esttab

我正在从 ttest 构造一个 table 的均值和 p 值。我怎样才能在同一个 esttab table 中获得所有这些?这是一个 MWE:

获取示例,将其保存为临时文件,使用我们将考虑的变量创建一个局部变量,创建一个长度为第一个局部变量的局部变量:

sysuse auto2, clear
*create two groups: 0 and 1
gen group = _n<37
tempfile a
save `a'

local vars "price headroom trunk weight"
local vars_n: word count `vars'

ssc install estout
eststo clear

计算第 0 组(第 1 列)和第 2 组(第 2 列)的平均值:

*group 0 means
use `a', clear
keep if group==0
eststo: estpost sum `vars'

*group 1 means
use `a', clear
keep if group==1
eststo: estpost sum `vars'

对每个变量进行 t 检验(有更简单的方法吗?):

*t-test
*create blank matrix
matrix pval = J(`vars_n',1,.) 
use `a', clear
forvalues i=1/`vars_n' {
    local var `: word `i' of `vars''
    ttest `var', by(group)
    *add the two-sided p-value to matrix
    matrix pval[`i',1]=r(p)
}

前面的代码块将 p 值(第 3 列)保存到矩阵中。

使用esttab输出结果:

esttab, cells(mean(fmt(2))) collabels(none) nodepvars nonumber replace label

esttab matrix(pval, fmt(2 0))

我的问题是我需要让 p 值与均值 esttab 相同,但我目前将它们放在一个矩阵中。我如何使用 eststo: estpost 之类的东西来获取它们,以便我可以使用 esttab(而不是 esttab matrix)?还是有更好的方法来完成这一切?我的目标是 运行 esttab, cells(mean(fmt(2))) collabels(none) nodepvars nonumber replace label 并让它创建一个 table,前两列是均值,第三列是 p 值。

您需要的所有信息都在 estpost ttest 中,因此一个简单的解决方案是:

sysuse auto2, clear
gen group = _n<37
local vars price headroom trunk weight
estpost ttest `vars', by(group)
esttab ., cells("mu_1 mu_2 p") nonumber label


-----------------------------------------------------------
                                                           
                             mu_1         mu_2            p
-----------------------------------------------------------
Price                    5847.526     6500.639     .3445597
Headroom (in.)           2.828947     3.166667     .0861206
Trunk space (.. ft.)     12.39474     15.19444     .0041618
Weight (lbs.)            2654.474     3404.722     .0000115
-----------------------------------------------------------
Observations                   74                          
-----------------------------------------------------------