Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >STATA教程之一:自动化输出回归表格 Estout

STATA教程之一:自动化输出回归表格 Estout

作者头像
宋彦
发布于 2019-07-03 03:32:21
发布于 2019-07-03 03:32:21
12.7K03
代码可运行
举报
文章被收录于专栏:一点ECON一点ECON
运行总次数:3
代码可运行

前言

STATA是回归分析的最常用的工具。当我们进行了大量的回归分析之后通常需要解决三个问题。怎样才能直观的展示需要关注的系数?如何才能方便的对比不同回归中的系数?怎样才能生成论文中可以直接使用的高质量的回归表格?本教程将试图对这三个问题给出自己的理解。

本教程将使用STATA中的$Estout Package$来回答以上三个问题。$Estout$功能非常强大,其中包括了estout, esttab, estadd等命令。Estout的具体细节介绍可以参考官方介绍文档。 但是由于它的选项非常丰富,学习起来有一定的难度,因此本文旨在对$Estout$的使用方法进行总结,来达到降低使用estout制作表格的难度的目的。

Estout 介绍

我们将首先介绍如何使用$Estout$输出最基本的回归表格,接着介绍如何把描述性数字以及回归中控制的变量类型加入到表格中,最后是如何生成pdf格式的表格。

基本回归表格

使用$Estout$制作基本的表格非常简单,只需要在$regress$命令后使用esttab即可。 下面我们以STATA自带的auto数据来展示esttab的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sysuse auto,clear. sysuse auto(1978 Automobile Data). eststo: quietly regress price weight mpg(est1 stored). eststo: quietly regress price weight mpg foreign(est2 stored). esttab-------------------------------------------- (1) (2) price price--------------------------------------------weight 1.747** 3.465*** (2.72) (5.49)mpg -49.51 21.85 (-0.57) (0.29)foreign 3673.1*** (5.37)_cons 1946.1 -5853.7 (0.54) (-1.73)--------------------------------------------N 74 74--------------------------------------------t statistics in parentheses* p<0.05, ** p<0.01, *** p<0.001. eststo clear

我们仅仅用了一个命令就得到了一个简单的回归表格,而这个回归表格已经能够满足我们需要清晰的对比不同回归中的相同变量的系数的目的。Esttab之所以如此简单,强大,因为它其实是更为复杂的estout的一个wrapper,也就是说当我们使用esttab命令时,其实已经使用了STATA设计好的初始设置。例如,回归系数,标准误差的小数点默认为三位,以及表格中会加入观测值数量等。当然,这个表格还不能满足我们的所有需求。当我们希望更为丰富的表格内容时该如何做呢?

加入描述性数据,以及控制变量类型

可以加入到回归表格中的描述性数据分为两类:回归本身返回的数据,例如R Square, 总观测值等;需要另外计算加入到回归表格中的数据,例如因变量的均值等。

加入回归返回的数据

将回归本身返回的数据加入到表格的方法相对简单,只需要使用esttab中的选项stats即可。例如,当我们需要加入R Square和回归的观测值时,可以加入stats(r2 N, labels("R Square" "Num of Obs"))。其中,r2,N分别代表了要加入的数据,而labels中的内容为数据的标签。具体效果可见下图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.esttab, stats(r2 N, labels("R Square" "Num of Obs"))-------------------------------------------- (1) (2) price price--------------------------------------------weight 1.747** 3.465*** (2.72) (5.49)mpg -49.51 21.85 (-0.57) (0.29)foreign 3673.1*** (5.37)_cons 1946.1 -5853.7 (0.54) (-1.73)--------------------------------------------R Square 0.293 0.500Num of Obs 74 74--------------------------------------------t statistics in parentheses* p<0.05, ** p<0.01, *** p<0.001
加入其他信息

如果所需要加入回归表格中的信息不是回归中返回值时,我们需要用到estout package中的estadd命令。例如,当需要加入因变量的均值时,我们可以使用以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sum price estadd r(mean)

我们也常常需要在回归表格中标注所控制的变量的类型,这一步骤也同样的可以使用estadd来实现。例如,当我们希望在上述部分回归中控制车辆是否是外国品牌时,我们可以在回归表格中加入一行来显示每个回归是否控制了该变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 estadd local Foreign_FE = " ", replace
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 sysuse auto,clear reg price trunk headroom length weight estimates store est1 sum price estadd r(mean) estadd local Foreign_FE = " ", replace reg price trunk headroom length weight i.foreign estimates store est2 sum price estadd scalar ymean = r(mean) estadd local Foreign_FE = "X", replace. esttab, stats(Foreign_FE ymean r2 N, ///> labels("Foreign FE" "Dep Mean" "R Square" "Num of Obs"))-------------------------------------------- (1) (2) price price--------------------------------------------trunk 114.1 63.31 (1.04) (0.68)headroom -711.6 -606.2 (-1.60) (-1.62)length -101.7* -89.03* (-2.41) (-2.52)weight 4.753*** 5.780*** (4.24) (6.04)0.foreign 0 (.)1.foreign 3526.8*** (5.51)_cons 11488.5* 5340.2 (2.53) (1.35)--------------------------------------------Foreign FE XDep Mean 6165.3 6165.3R Square 0.372 0.566Num of Obs 74 74--------------------------------------------t statistics in parentheses* p<0.05, ** p<0.01, *** p<0.001

制作tex文档

上述表格都是在STATA窗口中的显示效果,并不是我们的最终目的。我们希望能够将表格制作完全自动化,从进行回归分析,到将表格加入到文章中,不需要进行任何手动的复制粘贴。将这一过程自动化的目的,是在不断修改回归的过程中,减少人为出错的概率。为了达到这个目的,我们需要使用estout 中的using .tex, 以及prehead, postfoot这几个选项。using x.tex 使得输出结果为tex格式,而prehead, postfoot分别包括了使得tex文档能够直接编译成pdf的tex代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 #delimit ; esttab est1 est2 using estout_eg.tex, replace style(tex) booktabs keep(trunk headroom length weight 1.foreign) stats(Foreign_FE ymean r2 N, labels("Foreign FE" "Dep Mean" "R-Squared" "N") fmt(0 3 3 0)) // content options b(3) se(3) star(* 0.1 ** 0.05 *** 0.01) // content formating options mlabels(,none) numbers // column heading options label varlabels(1.foreign "Foreign") // row head formating options prehead( // tex code needed to compile document \documentclass[leqno,11pt]{article} \usepackage{booktabs} \usepackage{tabularx} \begin{document} \begin{table}[h] \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi} \caption{Using Estout to Output Regression Coefficients} \begin{center} \begin{tabular}{l c c} \toprule ) postfoot( // more tex code needed to compile document \end{tabular} \end{center} \end{table} \end{document} ) ; #delimit cr

执行上述Stata do file之后,我们会得到一个tex文档。编译tex文档即可得到如下图所示的表格。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点ECON 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Stata 回归结果输出之 esttab 详解(更新版)
展示回归分析的结果是应用统计分析的重要组成部分。esttab 命令是由瑞士波恩大学社会学研究所(University of Bern, Institute of Sociology)的 Ben Jann 教授编写的 Stata 用户外部命令,主要用于生成满足用户需求的回归表格(Display formatted regression table),这类命令已经成为量化实证分析中的基础性技能,兼具效率、规范与美观。本文是对该命令的详细介绍。
直立行走
2021/05/04
54K5
Stata 回归结果输出之 esttab 详解(更新版)
Stata&Python | 分别实现多元线性回归
读到这句话时,深有同感。迁移能力帮助我们快速了解陌生的语言,但受惯性思维的影响,容易忽视新事物的特性。所以,我的理解是:有其他语言的基础,学习新语言时,应该迁移和对比相结合。具体而言:对比着学,尽快找到感觉;注重工具之间的特性;问题导向,根据需求选择合适的工具。
PyStaData
2020/07/21
3.8K0
Stata&Python | 分别实现多元线性回归
STATA教程之二:自动化输出描述性数据表格
本文将简单介绍如何利用Stata的tabout命令,设计出内容丰富的描述性表格。读完本文,你将能够从STATA输出几乎所有类型的描述性表格的latex代码,从而直接生产所需要的表格,插入到你的论文中。
宋彦
2019/07/03
10.6K0
STATA教程之二:自动化输出描述性数据表格
计量笔记 | 拟合优度
的总变异(TSS)分解为两部分,可以被回归分解(ESS) + 未被回归分解(RSS)。即:
PyStaData
2021/04/13
6K0
计量笔记 | 拟合优度
回归分析(stata实例详细解答过程)[通俗易懂]
现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指 标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。 请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于 商家,更有益于宝妈们为宝贝选择适合自己的奶粉。
全栈程序员站长
2022/09/27
6.5K0
回归分析(stata实例详细解答过程)[通俗易懂]
Stata 数据处理 | 一份常用并实用的命令清单
数据处理是一个不断积累反复的训练过程,本文所涉及的命令既有 Stata 系统自带的,也有外部用户编写的,不求面面俱到,但求有用有效。热烈欢迎对此文有兴趣的学友批评指正文内错误、推荐好用命令,版主会第一时间修改补充!
直立行走
2024/07/31
4830
Stata 数据处理 |  一份常用并实用的命令清单
PythonforResearch | 2_数据处理
创建日期: 20200805 15:20 上次修改: 20200805 19:27 Python 版本: Python 3.7
PyStaData
2020/08/17
4.1K0
DID | 安慰剂检验
简单介绍一下实证论文中双重差分法(DID)的安慰剂检验(Placebo Test)在Stata中如何操作。
kemosabe
2021/08/27
5.6K0
DID  |  安慰剂检验
Maximum Likelihood Estimation in STATA
题外话:最近把网址改版了,之前文章的链接在网络上是静态html,现在改成了动态的博客类型,也会有tag分类,从电脑端阅读会方便一些。以后,网页端也会放开评论,现在还没设置。点击阅读原文即可。
宋彦
2019/07/04
1.5K0
EViews、Stata、回归分析……10月论坛答疑精选!
来自经管之家答疑频道 每个月,我们团队会特别邀请专家和版主,作为当月的特邀嘉宾,结合各自的领域,有针对性的进行答疑,并在当月答疑结束以后,对精彩的答疑进行梳理和汇总,我们从每位特邀嘉宾的答疑中,精选出
CDA数据分析师
2018/02/24
3.6K0
EViews、Stata、回归分析……10月论坛答疑精选!
Machine Learning With Go 第4章:回归
我们将探究的第一组机器学习技术通常被称为回归(regression),我们可以将回归理解为一个变量(例如销售额)的变化是如何影响到其他变量(如用户数)的。对于机器学习技术来说,这是一个很好的开端,它们是构成其他更加复杂技术的基础。
charlieroro
2022/06/02
1.6K0
Machine Learning With Go 第4章:回归
超长好文 |Matplotlib 可视化最有价值的 50 个图表(附完整 Python 源代码)
在数据分析和可视化中最有用的 50 个 Matplotlib 图表。 这些图表列表允许您使用 python 的 matplotlib 和 seaborn 库选择要显示的可视化对象。
小小詹同学
2019/11/12
1.2K0
超长好文 |Matplotlib 可视化最有价值的 50 个图表(附完整 Python 源代码)
R语言方差分析总结
这篇文章涵盖了孙振球,徐勇勇《医学统计学》第4版中关于方差分析的章节,包括:多样本均数比较的方差分析/多因素实验资料的方差分析/重复测量设计资料的方差分析/协方差分析。
医学和生信笔记
2022/11/15
2.7K0
R语言方差分析总结
Python 因果推断(上)
这本书是使用 Python 进行因果推断的实用指南。我解释了出现在经济学最负盛名的期刊,如《美丨国经济评论》和《计量经济学》中的方法和技术。
ApacheCN_飞龙
2024/01/31
7740
Python 因果推断(上)
ISLR_LinearRegression
Simple linear regression Estimating the coefficients Assessing the accuracy of the coeff conference
用户1147754
2018/01/02
1.2K0
ISLR_LinearRegression
一文汇总Python可视化工具及图表
正所谓“一图胜千言”,数据可视化是数据科学中重要的一项工作,在面对海量的大数据中,如果没有图表直观的展示复杂数据,我们往往会摸不着头脑。通过可视化的图表可以直观了解数据潜藏的重要信息,以便在业务和决策中发现数据背后的价值!
算法进阶
2023/10/26
8310
一文汇总Python可视化工具及图表
Python 因果推断(下)
我重新分析了 Oreopoulos(2011)的实验数据,并发现在 2007-2009 年大萧条期间,在加拿大的就业市场中,拥有白人女性名字是有优势的。白人女性在 2009 年 2 月至 9 月之间的回电率比白人男性高出 8%。考虑到白人男性在不同的回归规范下的回电率约为 10%,这一效应的幅度是相当高的。
ApacheCN_飞龙
2024/01/31
2890
【数据分析报告】携程客户分析与流失预测
携程作为中国领先的综合性旅行服务公司,每天向超过2.5亿会员提供全方位的旅行服务,因此每天都会产生海量的用户行为数据,这些数据蕴含着丰富的信息资源。另外,客户是企业的重要资源,也是企业的无形资产,客户的流失,也就意味着资产的流失,因此客户流失率是考量业务成绩的一个非常关键的指标。
全栈程序员站长
2022/11/02
7.2K0
【数据分析报告】携程客户分析与流失预测
精通 NumPy 数值分析:1~5
让我们考虑一下金融市场的情况。 当您考虑金融市场时,会有巨大的相互联系的互动网络。 政府,银行,投资基金,保险公司,养老金,个人投资者和其他人都参与了这种金融工具的交换。 您不能简单地模拟市场参与者之间的所有互动,因为参与金融交易的每个人都有不同的动机和不同的风险/回报目标。 还有其他因素会影响金融资产的价格。 即使为一个资产价格建模也需要您做大量工作,并且不能保证成功。 用数学术语来说,这没有封闭形式的解决方案,这为利用科学计算提供了一个很好的案例,您可以在其中使用高级计算技术来解决此类问题。
ApacheCN_飞龙
2023/04/23
1.1K0
TensorFlow 机器学习秘籍第二版:1~5
在本章中,我们将介绍一些基本的秘籍,以便了解 TensorFlow 的工作原理以及如何访问本书的数据和其他资源。
ApacheCN_飞龙
2023/04/23
1.4K0
相关推荐
Stata 回归结果输出之 esttab 详解(更新版)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验