Stata:输出漂亮的LaTeX表格
🍎 连享会主页:lianxh.cn
🎦 2021 效率分析专题
📅 2021 年 5.15-16;5.21-22
🔑 主讲:龚斌磊(浙江大学);连玉君(中山大学);张宁(暨南大学)
🍓 课程主页:https://gitee.com/lianxh/TE
New!
lianxh
命令发布了: GIF 动图介绍
随时搜索 Stata 推文、教程、手册、论坛,安装命令如下:
. ssc install lianxh
作者: 袁子晴 (香港大学)
邮箱: yzq0612@foxmail.com
目录
1. 问题背景
2. Stata 案例
2.1 包含交乘项的回归表格
2.2 工具变量法 2SLS 和 OLS 回归结果对比
2.3 描述性统计表格
2.4 包含自定义列的描述性统计表格
2.5 tabout 命令输出 LaTex 表格
3. 参考资料和相关推文
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 问题背景
LaTex 在科学排版领域有其独特的魅力,输出的 PDF 文档在美观之余,还可以实现版本控制和自动更新,在计量经济学领域,如果能够直接从 Stata 输出可供 Latex 编译的 tex 文档,那么我们在修改回归设定之后,只需要重新运行 Stata 代码和 Latex 编译,就能自动得到更新后的PDF文档,这样就省去了在后续修改中的繁琐过程。
2. Stata 案例
2.1 包含交乘项的回归表格
Stata 命令:estout
/esttab
案例来源:Lindsey and Stein (2019 WP)
该案例展示了我们如何输出包含交乘项的回归结果,如何用对号来简洁地表示控制了哪几类变量,以及如何加入统计检验的结果。由于该案例暂无公布源数据,我们着重分析利用 esttab
回归结果输出部分的代码:
⏬ 点击下方「代码展开」⛳
Stata 代码展开
nomtitles
选项代表每列表头不显示被解释变量;加入 booktabs
选项代表生成 LaTeX 格式的表格,供 LaTeX 的 booktabs 宏包使用进行编译,在生成的 tex 文档中添加加载 booktabs 宏包的代码;order
选项指定回归表格的变量顺序,drop
表示部分变量系数不显示在回归结果中;indicate
指定是否控制了某类变量,本案例是指固定效应,, labels('\checkmark' '')
这里代表用对号来表示,因为在 LaTeX 中会把\checkmark
编译为对号;stats
指定需要输出的统计量,并在, labels()
选项中输入 LaTex 数学公式;label
输出变量的标签值;nobaselevels
删掉离散变量 (factor variables) 的基准水平 (base levels);interaction('\$\times\$')
代表交乘项的符号为乘号,$\times\$
在 LaTeX 中编译为乘号, 需要注意的是需要加$...$
,代表数学环境;
直播课程:实证研究设计 (2.4小时)
2.2 工具变量法 2SLS 和 OLS 回归结果对比
Stata 命令: estout
案例来源:'Causal Inference: The Mixtape' 作者:Scott Cunningham
该案例使用工具变量法估计大学教育回报,利用NLS调查对象附近是否有2年制或4年制的大学 ( 'college in the county' ) 作为是否就读大学的工具变量,使用 card.dta
数据集,点击 码云下载链接。
首先通过ssc install estout
安装外部命令 estout
,其选项 prehead(strlist)
,posthead(strlist)
,prefoot(strlist)
和postfoot(strlist)
分别表示在表格标题前、标题后、表格页脚前、页脚后添加文本,所以可以利用这个功能自定义设定 LaTex 表格的布局。
在具体案例中,作者基于此实现了表头合并单元格、添加新行和尾注,Stata 代码如下,LaTeX 中用 \begin{}
和 \end{}
声明环境,本例中用到了 table
, tabular
, threeparttable
等环境来编译表格,运行后在工作路径下会得到一个 tex 文档。
⏬ 点击下方「代码展开」⛳
Stata 代码展开
然后在 LaTex 中编译该 tex 文档之前需要加载相应的宏包,用于编译的 main.tex
文件如下:
% 声明文章类型
\documentclass{article}
% 加载所需宏包
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{threeparttable}
% 题目 作者 日期
\title{Stata-LaTex Workflow}
\author{}
\date{}
% 正文部分
\begin{document}
\maketitle
\section{Introduction}
% 插入 Stata 输出的回归表格的 tex 文件
\input{card}
\end{document}
最终编译呈现的效果可以通过在线 LaTex 编辑器 Overleaf 进行查看。
2.3 描述性统计表格
Stata命令: estpost
,esttab
案例来源:Lindsey and Stein (2019 WP)
Stata 中输出描述性统计表格,基本思路是首先通过 estpost
将描述性统计结果伪装成回归结果储存在内存中,然后使用 esttab
将其输出,通过 label
选项输出表头文本,需要注意的是在 LaTex 中 输出百分号 %
的时候,前面需要加反斜杠 \
进行转义。
⏬ 点击下方「代码展开」⛳
Stata 代码展开
2.4 包含自定义列的描述性统计表格
Stata命令:estpost
, esttab
案例来源:Doleac and Stein (2013)
⏬ 点击下方「代码展开」⛳
Stata 代码展开
2.5 tabout 命令输出 LaTex 表格
2.5.1 包含百分比的双向交叉表
Stata命令:tabout
案例来源:Magdalena Bennett
estout
的 cl1
和 cl2
只适用于 LaTeX 输出,而且要求在LaTeX文档中加载 booktabs 宏包。cl1
选项可以用来在第一行和第二行标题之间绘制横线,cl2
可以在第二行和第三行标题之间绘制横线,我们需要在括号内输入想跨越的列号,例如第2列和第3列下面绘制横线,则输入 cl2(2-3)
⏬ 点击下方「代码展开」⛳
Stata 代码展开
2.5.2 模拟数据演示 tabout 用法
Stata命令:tabout
案例来源:Magdalena Bennett
⏬ 点击下方「代码展开」⛳
Stata 代码展开
最终编译呈现的效果可以通过在线 LaTex 编辑器 Overleaf 进行查看。
3. 参考资料和相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh latex
安装最新版lianxh
命令:
ssc install lianxh, replace