Stata 如何将测试结果添加到esttab

Stata 如何将测试结果添加到esttab,stata,Stata,我正在根据ttest构建一个均值和p值表。如何在同一个esttab表中获得所有这些信息?这里是一个MWE: 获取示例,将其保存为临时文件,创建一个带有变量的本地变量,我们将创建一个本地的,即第一个本地的长度: sysuse auto2, clear *create two groups: 0 and 1 gen group = _n<37 tempfile a save `a' local vars "price headroom trunk weight" loca

我正在根据ttest构建一个均值和p值表。如何在同一个
esttab
表中获得所有这些信息?这里是一个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
对每个变量进行t检验(有更简单的方法吗?):

前面的代码块将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矩阵
相反)?还是有更好的方法来实现这一切?我的目标是运行
esttab,cells(mean(fmt(2)))collabels(none)nodepvars nonnumber replace label
,让它创建一个表,前两列是平均值,第三列是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                          
-----------------------------------------------------------
sysuse auto2,清除

gen group=\n请让我知道我的答案是否符合您的要求。有很多方法可以达到你的目的,但是它们需要更多的工作,所以我想先看看简单的解决方案是否足够好。谢谢。在我的实际应用程序中,我有其他列,但事实上,estpost可以直接使用ttest创建估计值(而不是将它们单独放入矩阵中),这可能使您的方法甚至可以与其他列一起工作。我将在下周对此进行更多调查。
esttab, cells(mean(fmt(2))) collabels(none) nodepvars nonumber replace label

esttab matrix(pval, fmt(2 0))
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                          
-----------------------------------------------------------