使用esttab/estut扩展LaTeX表的多列统计信息



当使用esttab时,我希望能够将统计信息集中在多个列上。

在我的玩具示例中,我希望N跨越两列:

sysuse auto, clear
est clear
qui estpost sum if foreign == 1
qui est store sum_foreign
qui estpost sum
qui est store sum_all
esttab sum_foreign sum_all, ///
replace ///
cells("mean(fmt(3)) sd(fmt(3))") ///
nonum ///
collabels("Mean" "SD") ///
label ///
noobs ///
drop(make) ///
stats(N, ///
fmt(%9.0fc) ///
label("Observations"))

虽然这个玩具示例只是使用Stata的输出,但总的来说,我希望在LaTeX中这样做。

对于表的其他部分(collabelsmgroups等(,您可以指定pattern()参数,该参数允许您跨越,但这不是stats()的选项。

有人知道我如何使观察计数跨越模型的宽度(2列(吗?

您需要使用estadd在每个统计信息之间手动插入所需的间距,并使用适当的LaTeX标记作为前缀。这是正确设置表格所必需的。

以下对我有效:

sysuse auto, clear
est clear
estpost sum if foreign == 1
local N1 hspace{1.2cm}`e(N)'
estadd local NA `N1'
est store sum_foreign
estpost sum
local N2 hspace{2cm}`e(N)'
estadd local NA `N2'
est store sum_all
esttab sum_foreign sum_all using table.tex, ///
replace ///
cells("mean(fmt(3)) sd(fmt(3))") ///
nonum ///
collabels("Mean" "SD") ///
label ///
noobs ///
drop(make) ///
stats(NA, ///
fmt(%9.0fc) ///
label("Observations"))

编辑:

这是另一种方法,但需要自动对观测数字进行居中:

sysuse auto, clear
est clear
estpost sum if foreign == 1
local N1 &multicolumn{2}{c}{`e(N)'}
estadd local NA `N1'
est store sum_foreign
estpost sum
local N2 &multicolumn{2}{c}{`e(N)'}
estadd local NA `N2'
est store sum_all
esttab sum_foreign sum_all using table.tex, ///
replace ///
cells("mean(fmt(3)) sd(fmt(3))") ///
nonum ///
collabels("Mean" "SD") ///
label ///
noobs ///
drop(make) /// 
postfoot("hline Observations: `N1' `N2' \ hlinehline \ end{tabular} \ }")

最新更新