在表格中创建变量组标题和缩进标签

时间:2018-10-12 22:17:38

标签: stata

我正在Stata中生成一个均值表,并尝试以某种方式对其进行格式化后将其导出为TeX文件。我正在使用 community-contributed estout系列命令来执行此操作,并且非常接近我想要的结果。

但是,我不知道如何在生成的输出中插入一些其他行和标签。

我尝试了以下代码:

eststo  clear
eststo, title("Mean"): estpost sum Male Female Race1 Race2 Age1-Age6 Education1-Education6
esttab using "${outdir}\Demographic.tex", label mtitles title(Demographic Information) ///
main(mean) b(2) nostar nogaps nonote replace

上面的代码生成下表:

This code generates table like this.

我想要的是在一个小组中提出不同的变量。例如,MaleFemale应该在“性别”标题下缩进,类似地,其他变量应该在“种族”,“年龄”和“教育”标题下缩进。

当然。我可以在TeX代码中手动添加这些行并缩进这些变量,但是我想从Stata生成完全格式化的表。

有办法吗?

1 个答案:

答案 0 :(得分:1)

estout命令不直接支持此功能,但是下面是一个使用人工生成的数据的玩具示例所演示的变通方法:

clear
set obs 246

local vars Male Female Race1 Race2 Age1 Age2 Age3 Age4 Age5 Age6 Education1 /// 
      Education2 Education3 Education4 Education5 Education6

foreach var of local vars {
    generate `var' = runiform()
    label variable `var' "     `var'"
}

eststo clear
eststo, title("Mean"): estpost sum Male Female Race1 Race2 Age1-Age6 Education1-Education6

esttab, label mtitles title(Demographic Information) main(mean) b(2) nostar nogaps nonote ///
refcat(Male "Gender" Race1 "Race" Age1 "Age" Education1 "Education", nolabel)

这里的想法是在每个变量的标签中引入间距,然后指示esttab在每个组之前创建“参考类别”。

上面的代码片段产生所需的输出:

Demographic Information
---------------------------------
                              (1)
                             Mean
---------------------------------
Gender                           
     Male                    0.52

     Female                  0.55

Race                             
     Race1                   0.51

     Race2                   0.46

Age                              
     Age1                    0.48

     Age2                    0.47

     Age3                    0.51

     Age4                    0.48

     Age5                    0.50

     Age6                    0.52

Education                        
     Education1              0.51

     Education2              0.52

     Education3              0.50

     Education4              0.48

     Education5              0.48

     Education6              0.50

---------------------------------
Observations                  246
---------------------------------

请注意,可用空间是固定的,因此您可能必须缩短一些标签。另外,对于更长的标签,您将需要调整间距以使其与其余标签对齐。


编辑:

要让LaTeX正确排版空格,您需要使用适当的标记将它们引入每个变量的标签中,如下所示:

label variable `var' "\hspace{0.5cm}`var'"