其他
Stata结果输出:用esttab命令绘制LaTeX表格
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会 · 效率分析专题
作者:宋慧慧 (格拉斯哥大学)
邮箱: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公式
课程推荐:因果推断实用计量方法
主讲老师:丘嘉平教授
🍓 课程主页:https://gitee.com/lianxh/YGqjp
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【**百度一下:**连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。