结合并修改此代码(http://www.stata.com/statalist/archive/2012-11/msg00756.html)和此代码(http://www.stata.com/statalist/archive/2009-02/msg00023.html),我尝试使用Stata中的esttab (estout的一部分)导出可以在LaTeX中编译的文件。这方面的实际应用可能涉及一个复杂的摘要统计表,其中一个人从几个不同的来源提取统计数据,因此需要使用矩阵。但是,当我编译时,LaTeX中出现了一个错误。错误是:
Extra alignment tab has been changed to \cr. Stata代码:
clear all
eststo clear
mat A = (1,2\5,6)
mat coln A = male:1979 male:2007
mat rown A = mystat
ereturn post
estadd matrix B = A'
eststo MaleLabel
mat A = (3,4\7,8)
mat coln A = female:1979 female:2007
mat rown A = mystat
ereturn post
estadd matrix B = A'
eststo FemaleLabel
esttab MaleLabel FemaleLabel using "esttab.tex", ///
cell((B["1979"]B["2007"])) booktabs ///
mgroups("Male" "Female", pattern(1 1) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
noobs replace nomtitles nonum LaTeX代码:
\documentclass[12pt]{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[htbp]
\begin{center}
\input{esttab}
\end{center}
\end{table}
\end{document}从esttab生成的文件是:
{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{2}{c}}
\toprule
&\multicolumn{2}{c}{Male} &\multicolumn{2}{c}{Female}\\\cmidrule(lr){2-3}\cmidrule(lr){4-5}
& 1979& 2007& 1979& 2007\\
\midrule
mystat & 1& 2& 3& 4\\
mystat & 5& 6& 7& 8\\
\bottomrule
\end{tabular}
}现在,如果我调整一下这条线,我就能把事情做好:
\begin{tabular}{l*{2}{c}}将是:
\begin{tabular}{l*{2}{cc}}(我增加了一个额外的c。)
但我只知道如何手动操作。我可以在Stata代码中更改什么来使这种情况自动发生?
发布于 2017-03-31 19:08:13
将此简单选项添加到estab代码中
prehead({\begin{tabular}{l*{2}{cc}}\toprule)
你们都准备好了,我的男人!
https://stackoverflow.com/questions/43019048
复制相似问题