首页 文章

如何向esttab添加更多行汇总摘要统计表

提问于
浏览
0

我正在尝试使用esttab使用summarize命令创建带有摘要统计信息的LaTeX表 . 如果我一次汇总多个变量,我可以使用如下代码来执行此操作:

sysuse auto, clear
global vars price mpg headroom
eststo clear
eststo: estpost sum $vars, listwise
esttab est*, cells("count mean(fmt(2)) sd") nomtitles nonumber noobs

但是,我不确定如何汇总一行,存储它,汇总另一行,存储它等,然后将它们全部组合在同一个表中而不创建不必要的列 . 如果我想通过变量对要汇总的观察结果进行个性化限制,我可能希望单独汇总每个变量 .

这是代码,不能得到我想要的东西 . 具体来说,它不会将每个变量的摘要统计信息放在同一列下,而是创建新列,每个列对应一个不同的变量 .

eststo clear
gen count = 1
foreach i in $vars {
    eststo: estpost sum `i' if `i'>count
    replace count = count+1
}

esttab est*, cells("count mean(fmt(2)) sd") nomtitles nonumber noobs

我应该改变什么才能得到我想要的结果?

2 回答

  • 1

    您的问题类似于堆叠模型;而不是"models"你有摘要 . 用户编写的命令 estout 不会堆叠模型,因此一种方法是创建自己的矩阵并将其提供给 estout (或 esttab ):

    clear
    set more off
    
    *----- example data -----
    
    sysuse auto
    
    *----- two-variable example -----
    
    eststo clear
    
    // process price
    estpost summarize price
    matrix mymat = e(mean), e(count)
    
    // process mpg
    estpost summarize mpg if mpg > 15
    matrix mymat = mymat \ e(mean), e(count)
    
    // finish formatting matrix
    matrix colnames mymat = mean count
    matrix rownames mymat = price mpg
    matrix list mymat
    
    // tabulate
    esttab matrix(mymat), nomtitles
    

    通过额外的工作,您可以自动执行这些步骤 .

    另请参见http://repec.org/bocode/e/estout/advanced.html#advanced901 .

  • 1

    您可以使用 fragmentappend 选项逐行创建表 . 您可能希望在没有 fragment 选项的情况下执行一个变量来生成相同的表头/页脚,然后将其余行剪切并粘贴到此表中 .

相关问题