estpost
和esttab
命令来自SSC上的estout
包。
我使用estpost summarize
制作摘要统计表。
我被告知读者更喜欢小数作为固定的宽度/精度。
比方说,前导零和三位小数。
选项fmt(%9.3f)
给出前导零和固定宽度,
但报告大数字没有逗号。
选项fmt(%12.3gc)
提供逗号,
但不报告固定宽度小数。
有没有办法在fmt()
中更精细地使用esttab
?
比方说,对于超过某个阈值的数字使用%12.3gc
,否则使用%9.3f
?
这可能会产生我没想到的问题。
以下是我如何使用estpost summarize
以及每种方法的缺点的示例。
sysuse auto, clear
expand 1000
eststo clear
estpost summarize price rep78, detail
eststo
/* gives mean/median/SD with fixed number of decimals */
/* but must manually add commas to large numbers (price) */
local rightwidth_nocommas ///
label noobs nonumbers nomtitles ///
cell("count(fmt(%9.3gc) label(Obs.)) mean(fmt(%9.3f) label(Mean)) p50(fmt(%9.3f) label(Median)) sd(fmt(%9.3f) label(Std. Dev.))")
esttab, `rightwidth_nocommas'
. esttab, `rightwidth_nocommas'
------------------------------------------------------------------------
Obs. Mean Median Std. Dev.
------------------------------------------------------------------------
Price 74,000 6165.257 5006.500 2929.519
Repair Record 1978 69,000 3.406 3.000 0.983
------------------------------------------------------------------------
/* gives commas to large numbers (price) */
/* but must pad mean/median/SD to get a fixed number of decimals */
local commas_wrongwidth ///
label noobs nonumbers nomtitles ///
cell("count(fmt(%9.3gc) label(Obs.)) mean(fmt(%9.3gc) label(Mean)) p50(fmt(%9.3gc) label(Median)) sd(fmt(%9.3gc) label(Std. Dev.))")
esttab, `commas_wrongwidth'
. esttab, `commas_wrongwidth'
------------------------------------------------------------------------
Obs. Mean Median Std. Dev.
------------------------------------------------------------------------
Price 74,000 6,165 5,007 2,930
Repair Record 1978 69,000 3.41 3 .983
------------------------------------------------------------------------
答案 0 :(得分:1)
这是一个使用fc
表示所有内容的演示,计数不需要gc
,并使用一组周围的括号而不是单元格参数周围的引号来强制将四个项目放到一行上
. esttab, ///
> label noobs nonumbers nomtitles ///
> cell(( ///
> count(fmt(%9.0fc) label(Obs.)) ///
> mean(fmt(%10.3fc) label(Mean)) ///
> p50(fmt(%8.1fc) label(Median)) ///
> sd(fmt(%10.3fc) label(Std. Dev.)) ///
> ))
------------------------------------------------------------------------
Obs. Mean Median Std. Dev.
------------------------------------------------------------------------
Price 74,000 6,165.257 5,006.5 2,929.519
Repair Record 1978 69,000 3.406 3.0 0.983
------------------------------------------------------------------------