Stata结果输出:用esttab命令绘制LaTeX表格

文摘   教育   2024-11-12 22:01   山西  


👇 连享会 · 推文导航 | www.lianxh.cn

🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)

 课程特色 · 2024机器学习与因果推断

  • 懂原理、会应用。本次课程邀请了两位老师合作讲授,目的在于最大限度地实现理论与应用的有机结合。为期四天的课程,分成两个部分:第一部分讲解常用的机器学习算法和适用条件,以及文本分析和大语言模型;第二部分通过精讲 4-6 篇发表于 Top 期刊的论文,帮助大家理解各类机器学习算法的应用场景,以及它们与传统因果推断方法的巧妙结合。
  • 以 Top 期刊论文为范例。目前多数人的困惑是不清楚如何将传统因果推断方法与机器学习结合起来。事实上,即便是 MIT 和 Harvard 的大牛们也都在「摸着石头过河」。为此,通过论文精讲和复现来学习这部分内容或许是目前最有效的方式了。张宏亮老师此前在浙江大学按照这一模式教授了「因果推断和机器学习」课程,效果甚佳:学生们能够逐渐建立起研究设计的理念,并在构造识别策略时适当地嵌入机器学习方法。

作者:宋慧慧 (格拉斯哥大学)
邮箱:huihui.song@gla.ac.uk


目录

  • 1. 背景

  • 2. 命令介绍

  • 3. 结果输出

    • 3.1 描述性统计

    • 3.2 回归结果

  • 4. 相关推文



温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

1. 背景

制作表格是研究人员最常见的任务之一。在本文中,我们将介绍如何通过 esttab 命令输出 表格。esttab 命令是由瑞士波恩大学社会学研究所的 Ben Jann 教授编写,被广泛应用于 Stata 的结果输出。

2. 命令介绍

* 命令安装
ssc install estout, replace
* 命令语法
esttab [ namelist ] [ using filename ] [ , options ]

其中,options 选项如下:

  • b(fmt):确定小数点位数;
  • abs:使用 统计量的绝对值;
  • not:压缩 统计量的储存空间;
  • z[(fmt)]:显示 统计量的数值;
  • se[(fmt)]:显示标准误而非 统计量;
  • p[(fmt)]:显示 值而非 统计量;
  • ci[(fmt)]:显示置信区间而非 统计量;
  • aux(name [fmt]):显示 Stata 默认存储 e(name) 而不是 -统计量;
  • [no]constant:不报告常数项。
  • booktabs:选项代表生成 格式的表格,常用的其他格式还有 cvs、tab、html;
  • longtable 中多长表格,大于一页。

3. 结果输出

3.1 描述性统计

. * 使用命令 eststo 和 esttab
. sysuse auto, clear // 调用数据
. estpost sum headroom trunk weight length turn displacement gear_ratio ///
> price mpg rep78 if foreign==1
. est store a // 将汽车类别为 foregin 的描述性统计结果存储为结果a
. estpost sum headroom trunk weight length turn displacement gear_ratio ///
> price mpg rep78 if foreign==0
. est store b // 将汽车类别为非国外的描述性统计结果存储为结果 b
. esttab a b using simple.tex, ///
> replace mtitles("\textbf{\emph{Foreign}}" "\textbf{\emph{National}}") ///
> /// 设置回归结果的名称并加粗
> refcat(headroom "\textbf{\emph{Group 1}}" price "\textbf{\emph{Group 2}}", nolabel) ///
> /// 在 headroom 与 price 之前分别新增一行,并字体加粗
> collabels(\multicolumn{1}{c}{{Mean}} \multicolumn{1}{c}{{Std.Dev.}} \multicolumn{1}{l}{{Obs}}) ///
> /// 为多个模型或方程中的列指定标签标签
> cells("mean(fmt(2)) sd(fmt(2)) count(fmt(0))") /// 设置 cells 中所含变量的小数位数
> label noobs booktabs // 显示变量标签名称,不显示样本个数,LaTeX 格式的表格

3.2 回归结果

3.2.1 简单的表格

 . sysuse census.dta, clear
. xtset region
. qui reg death marriage pop
. est sto reg1
. qui estadd local region "No"
. qui reg death popurban
. est sto reg2
. qui estadd local region "No"
. qui reg divorce marriage pop
. est sto reg3
. qui estadd local region "No"
. qui reg divorce marriage pop i.region
. est sto reg4
. qui estadd local region "Yes"
. local regressions reg1 reg2 reg3 reg4
. esttab `regressions' using "`output'/simple.tex", replace

3.2.2 定制的表格


. esttab `regressions' using "simple.tex", replace scalars("region Region") ///
> postfoot("\hline\hline \end{tabular}} \begin{tablenotes} \footnotesize \item \lipsum[1] \end{tablenotes} \end{table}") ///
/// 在表格下方的注释,\lipsum[1]可以替换为相应的表格注释
> title("this is a simple table") se label nobaselevel ///
> refcat(2.region "Omitted category: NE region", nolabel) nomtitles

3.2.3 将表格分成两组

. * 将4个回归结果方程两组
. sysuse census.dta, clear
. xtset region
. qui reg death marriage pop
. est sto reg1
. qui estadd local region "No"
. qui reg death popurban
. est sto reg2
. qui estadd local region "No"
. qui reg divorce marriage pop
. est sto reg3
. qui estadd local region "No"
. qui reg divorce marriage pop i.region
. est sto reg4
. qui estadd local region "Yes"
. local regressions reg1 reg2 reg3 reg4
. esttab `regressions' using "simple.tex", replace ///
> mgroups("Number of deaths" "Number of divorces", /// 两个组别的名称
> pattern(1 0 1 0) /// pattern决定每一列属于哪个组,1代表新的一组的开始
> span prefix(\multicolumn{@span}{c}{) suffix(}) /// 使组别的名称居中
> erepeat(\cmidrule(lr){@span})) // 分别在每组名称下方增加下划线

3.2.4 两个 panel 表格

. qui reg death marriage if region == 3
. est sto s1
. qui reg death marriage pop if region == 3
. est sto s2
. qui reg death marriage if region == 4
. est sto w1
. qui reg death marriage pop if region == 4
. est sto w2
. * 第一个panel
. esttab s1 s2 using "/simple.tex", replace ///
> prehead("\begin{tabular}{l*{2}{c}} \hline\hline") ///
> /// 添加在第一个面板生成之前,创建表格的命令
> posthead("\hline \\ \multicolumn{3}{c}{\textbf{Panel A: South}} \\\\[-1ex]") ///
> /// 设置第一个面板的标题与位置
> fragment /// 允许添加多个面板,因此可以创建一个表格有多个panel
> mgroups("Number of deaths", pattern(1 0) span prefix(\multicolumn{@span}{c}{) suffix(})) ///
> nomtitles label
. * 第二个panel
. esttab w1 w2 using "`output'/simple.tex", append ///
> posthead("\hline \\ \multicolumn{3}{c}{\textbf{Panel B: West}} \\\\[-1ex]") ///
> fragment nomtitles nonumbers nolines prefoot("\hline") ///
> postfoot("\hline\hline \end{tabular}") label

3.2.5 在 latex 中插入表格

中编译该 tex 文档之前需要加载相应的宏包,用于编译的 main.tex 文件,具体如下:

% 声明文章类型
\documentclass{article}
% 加载所需宏包
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{threeparttable}
\usepackage{lipsum}
\usepackage{booktabs}

%输入表格内容
\input{regression.tex}

4. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh latex, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

  • 专题:结果输出
    • Stata:输出漂亮的LaTeX表格-T222
    • Stata结果输出:Excel结果表变身LaTeX表格
    • Stata与LaTeX的完美结合
    • Stata结果输出:用esttab生成带组别名称的LaTeX回归表格
  • 专题:Markdown-LaTeX
    • LaTeX小技巧:简单实用的Beamer模板
    • 用VScode正则表达式转换Markdown和LaTeX链接
    • DAG-有向无环图:如何用LaTeX快速绘制?-B017-
    • LaTeX小白入门:TeXLive安装及使用
    • Stata+LaTex:绘制流程图
    • Markdown教程之LaTeX数学公式简介
    • Markdown常用LaTex数学公式
    • Markdown中书写LaTeX数学公式简介
  • 专题:工具软件
    • LaTeX-如何使用Overleaf生成PPT
    • LaTeX-如何使用 Overleaf 撰写论文
    • Word,MathType与LaTeX公式


🍓 课程推荐:2024 机器学习与因果推断专题
主讲老师:司继春 (上海对外经贸大学) ;张宏亮(浙江大学)
课程时间:2024 年 11 月 9-10 日 ;16-17日
课程咨询:王老师 18903405450(微信)


尊敬的老师 / 亲爱的同学们:

连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!




New! Stata 搜索神器:lianxh 和 songbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
  . ssc install lianxh
  . ssc install songbl
👉  使用:
  . lianxh DID 倍分法
  . songbl all



🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。



连享会
连玉君老师团队分享,主页:lianxh.cn。白话计量,代码实操;学术路上,与君同行。
 最新文章