首页 > 解决方案 > 在 Stata 中创建表:创建多行变量标题

问题描述

我正在使用esttab在 Stata 中创建表并在 LaTeX 中呈现它们,并且想要拆分一个mgroups变量标题,以便它跨越两行(即基本上创建两个mgroups)。这样我就可以创建一个如下所示的表:link

由于我无法弄清楚如何做到这一点,我现在使用以下命令将上表中的两个“主题类型”和“教师性别”标题行合并为一行: 

esttab Classics_M_M Classics_F_M Classics_M_F Classics_F_F Science_M_M Science_F_M Science_M_F Science_F_F EScience_M_M EScience_F_M EScience_M_F EScience_F_F using "$dir/Graphs_Tables/tableA17.tex", p stats(N fixed1 fixed2 fixed3 fixed4 fixed5 fixed6 fixed7 fixed8, fmt(%9.0gc) labels("\vspace{0.7em} Observations \vspace{0.7em}" "Teacher Characteristics" "Previous Year Test Scores" "Grade FE" "Year FE" "Track FE" "Subject FE" "Class FE" "Student FE")) mlabels(Male Female Male Female Male Female Male Female Male Female Male Female, begin(Student Gender)) varlabels(tv "Teacher VA") mgroups("Classics Male" "Classics Female" "Science Male" "Science Female" "Exact Science Male" "Exact Science Female", pattern(1 0 1 0 1 0 1 0 1 0 1 0) begin(Subject and Teacher Gender) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) f nomtitles booktabs drop(experience lag_mod _cons) nolines posthead(\midrule) replace 

    我尝试过使用两个mgroups()命令并包括"\par"在标题中将它们分成两行但没有运气!我希望这里有人有一个想法!

标签: latexstata

解决方案


这实际上是一个包含在 Stata 问题中的 Latex 问题。

Latex 问题:如何获取要换行的单元格内容。tex.stackexchange 上经常讨论这种变化,这里有几个。

  1. https://tex.stackexchange.com/questions/54069/table-with-text-wrapping
    • 使用 \newcommand。
  2. https://tex.stackexchange.com/questions/40561/table-with-multiple-lines-in-some-cells
    • 只是在一个表中嵌套一个表。

Stata 问题:有没有一种简单的方法可以通过 esttab 命令执行此操作?上面的#2 提供了一种相对简单的方法来做到这一点。

“简单地”替换:mgroups("Classics Male")

mgroups("\begin{tabular}{@{}c@{}}Classics \\ Male\end{tabular}")

这只是上面 #2的答案,已放入您的 esttab 语句中,因此当然建议您阅读该答案。


推荐阅读