Stata 如何使用esttab为N个观测值创建一个均值差异表?

Stata 如何使用esttab为N个观测值创建一个均值差异表?,stata,Stata,我试图创建一个表,显示两组平均值的差异,但我很难得到准确的列。我特别尝试重新创建一个表,其中包含一个指示N的列。我真的不知道该怎么做。下面是我所说的大部分表的代码: sysuse auto, clear eststo all: quietly estpost summarize /// price mpg weight headroom trunk eststo domestic: quietly estpost summarize /// price mpg weight h

我试图创建一个表,显示两组平均值的差异,但我很难得到准确的列。我特别尝试重新创建一个表,其中包含一个指示N的列。我真的不知道该怎么做。下面是我所说的大部分表的代码:

sysuse auto, clear

eststo all: quietly estpost summarize ///
    price mpg weight headroom trunk
eststo domestic: quietly estpost summarize ///
    price mpg weight headroom trunk if foreign == 0
eststo foreign: quietly estpost summarize ///
    price mpg weight headroom trunk if foreign == 1
eststo diff: quietly estpost ttest ///
    price mpg weight headroom trunk, by(foreign) unequal

esttab all domestic foreign diff, ///
cells("mean(pattern(1 1 1 0) fmt(2)) b(star pattern(0 0 0 1) fmt(2))" "sd(pattern(1 1 1 0) par fmt(2)) t(pattern(0 0 0 1) par fmt(2))") ///
label

在这个场景中,我需要一个列N,它每行只列出74个。在这个简短的示例中,这没有多大意义,但我使用的是具有相同变量的多个数据源,我希望将均值表中的差异叠加在一起。

您可以使用
N_1
N_2
引用每个子样本中的观察值数量,如下所示:

 sysuse auto, clear

estpost ttest price mpg weight headroom trunk, by(foreign)

esttab . , ///
cell(( N_2(fmt(%12.0fc)) mu_2(fmt(%12.3fc)) ///
       N_1(fmt(%12.0fc)) mu_1(fmt(%12.3fc)) ///
       b(fmt(%12.3fc)) t(fmt(%12.2fc)) )) ///
noobs label collabels(Count Mean Count Mean Diff T-Stat ) 

您可以使用
N_1
N_2
引用每个子样本中的观察值数量(在本例中为
by(foreign)
),如下所示:

 sysuse auto, clear

estpost ttest price mpg weight headroom trunk, by(foreign)

esttab . , ///
cell(( N_2(fmt(%12.0fc)) mu_2(fmt(%12.3fc)) ///
       N_1(fmt(%12.0fc)) mu_1(fmt(%12.3fc)) ///
       b(fmt(%12.3fc)) t(fmt(%12.2fc)) )) ///
noobs label collabels(Count Mean Count Mean Diff T-Stat ) 

困难在于你的例子似乎不是你想做什么的例子,困难在于你的例子似乎不是你想做什么的例子。