求助:如何在Stata中生成含多因变量多列的LaTeX回归表
Stata生成LaTeX回归表:多因变量行、多设定列的实现
要实现不同因变量作为行、不同回归设定作为列的LaTeX回归表,你需要先统一存储所有回归结果,再通过esttab的自定义选项构建表格结构,而非用append追加独立表格。
步骤1:存储所有回归结果
先清空之前的存储缓存,再把两组因变量的所有回归设定(共4个回归)存入eststo:
eststo clear eststo m1: reg y x // 因变量y,无控制变量 eststo m2: reg y x z // 因变量y,加入控制变量z eststo m3: reg c x // 因变量c,无控制变量 eststo m4: reg c x z // 因变量c,加入控制变量z
步骤2:生成目标LaTeX表格
通过esttab的cells()选项自定义每行内容,搭配表头格式化参数,生成符合要求的表格:
esttab m1 m2 m3 m4 using main.tex, replace se /// cells("m1_b m2_b m3_b m4_b" "m1_se m2_se m3_se m4_se") /// varlabels(m1_b "y" m2_b "" m3_b "c" m4_b "") /// collabels("无控制变量" "有控制变量" "无控制变量" "有控制变量") /// noobs nomtitles nonumbers /// booktabs /// prehead("\begin{tabular}{lcccc}" "\toprule" "因变量 & \multicolumn{2}{c}{y} & \multicolumn{2}{c}{c} \\" "\cmidrule(lr){2-3} \cmidrule(lr){4-5}") /// postfoot("\bottomrule" "\end{tabular}")
关键参数说明
cells():分两组定义表格行内容,第一组是4个回归的系数(_b后缀),第二组是对应标准误(_se后缀)。varlabels():给系数行标注因变量名称(y/c),标准误行留空避免重复标签。collabels():给每列标注回归设定类型(无/有控制变量)。booktabs+prehead/postfoot:生成LaTeX规范的分组表头和美观横线,将同一因变量的两列归为一组。noobs nomtitles nonumbers:移除冗余的观测值行、默认回归标题和行号,精简表格结构。
生成的LaTeX表格核心结构示例:
因变量 & 无控制变量 & 有控制变量 & 无控制变量 & 有控制变量 \
\midrule
y & x的系数(m1) & x的系数(m2) & x的系数(m3) & x的系数(m4) \
& (m1标准误) & (m2标准误) & (m3标准误) & (m4标准误) \
c & x的系数(m3) & x的系数(m4) & ... & ... \
& (m3标准误) & (m4标准误) & ... & ... \
\bottomrule
内容的提问来源于stack exchange,提问作者Schwa97
相关产品推荐
相关产品推荐

