当使用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中这样做。
对于表的其他部分(collabels
、mgroups
等(,您可以指定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} \ }")