分享

Stata:输出漂亮的LaTeX表格

 liyu_sun 2021-04-30

🍎 连享会主页:lianxh.cn

🎦 2021 效率分析专题
📅 2021 年 5.15-16;5.21-22
🔑 主讲:龚斌磊(浙江大学);连玉君(中山大学);张宁(暨南大学)
🍓 课程主页https:///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

estoutcl1cl2 只适用于 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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多