查看原文
其他

R语言 | 使用stargazer包输出格式化回归结果

猫哥 大邓和他的Python
2024-09-09

作者: 猫哥 

波恩大学经济学专业,计量经济学方向

在实证分析的过程中,各种回归模型十分常用,特别是参数模型。而且我们常常需要运行多种参数回归模型,并对参数估计值、显著性等统计性质进行比较。此时,如果用copy paste或者手动输入,那么则耗时耗力,且有一定错误率。如果你也有相同烦恼,那么stargazer包可以完美地解决你的烦恼。他可以快速、准确、清晰地输出回归结果。


安装

与其它R包的安装方式无异,我们可以通过install.packages()library()函数来下载和导入stargazer包。

install.packages("stargazer")
library(stargazer)

描述性统计值

在估计回归模型之前,我们常常也需要对数据的描述性统计性质进行分析,以便了解变量的分布和变量间的联合分布,这对后续的回归模型设定具有重要意义。stargazer包能使我们方便地分析描述性统计值。我们此处以R内自带数据集attitude为例。

stargazer(attitude, type = "text")

运行上述程序后,我们就会得到下表。

如果需要输出latex或者html格式,那么指定type="latex"或者type="html"即可。当然,我们还有其他一些重要的参数。

  • title: 定义表格的标题
  • out: 定义导出文件的路径,文件类型可以是.tex, .txt, .htm或者.html
  • flip: 默认为FALSE。当定义为TRUE时,则表示转置,即各变量按列排列。
  • digits: 定义输出数值的小数位数。

参数回归模型结果

此处,我们依然使用attitude数据包,以rating作为因变量,其他各变量作为协变量,用两个线性模型和一个Probit模型进行参数估计。

##  2 OLS models
linear.1 <- lm(rating ~ complaints + privileges + learning 
                        + raises + critical, data=attitude)

linear.2 <- lm(rating ~ complaints + privileges + learning, data=attitude)

## create an indicator dependent variable, and run a probit model
 
attitude$high.rating <- (attitude$rating > 70)
probit.model <- glm(high.rating ~ learning + critical + advance, data=attitude,
                    family = binomial(link = "probit"))

在得到各模型后,我们可以运行以下程序汇总和输出三个模型的结果。

stargazer(linear.1, linear.2, probit.model, type="text", title="Regression Results")

汇总和输出结果如下表。

在输出回归结果时,我们也可以定义一些重要的参数。

  • single.row: 默认值为FALSE。当取值为TRUE,表示将参数和t统计值或其它参数统计值放在一行,而不是分上下放置。
  • ci: 默认为FALSE。当取值为TRUE时,表示将在参数估计值后报告置信区间,而不是t统计值。
  • ci.level: 定义置信度水平。
  • omit.stat: 定义不需要报告的统计值。例如,omit.stat=c("f"."ser"),表示不需要报告模型的F统计值和Residual Std. Error,即残差的标准误。
  • keep.stat: 定义需要报告的统计值。默认是报告所有的协变量。例如,keep.stat="n",表示只需要报告样本量。
  • keep: 定义需要包含在输出结果中的变量。当模型协变量数目很多,而我们又只关注个别变量的系数时,这个参数则能够起到作用。例如,keep=c("complaints","learning","raises","critical")
  • order: 定义输出结果中变量的顺序。例如,order=c("learning", "raises")

相关系数表

stargazer包还能汇总整理相关系数表。以attitude数据集为例,运行以下程序即可获得相关系数表。

correlation.matrix <- cor(attitude)
stargazer(correlation.matrix, type="text")


参考文献

Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables. R package version 5.2.2. https://CRAN.R-project.org/package=stargazer

精选文章

从符号到嵌入:计算社会科学的两种文本表示

资料 | 量化历史学与经济学研究

长期征稿 | 欢迎各位前来投稿

17G数据集 | 深交所企业社会责任报告

百度指数 | 使用qdata采集百度指数

推荐 | 社科(经管)文本分析快速指南

视频分享 | 文本分析在经管研究中的应用

Maigret库 | 查询某用户名在各平台网站的使用情况

MS | 使用网络算法识别创新的颠覆性与否

使用cntext训练Glove词嵌入模型

认知的测量 | 向量距离vs语义投影

Wordify | 发现和区分消费者词汇的工具

在jupyter中显示pdf内容

EmoBank | 中文维度情感词典

Asent库 | 英文文本数据情感分析

视频专栏课 | Python网络爬虫与文本分析

PNAS | 文本网络分析&文化桥梁Python代码实现

BERTopic库 | 使用预训练模型做话题建模

tomotopy | 速度最快的LDA主题模型

管理世界 | 使用文本分析词构建并测量短视主义

Wow~70G上市公司定期报告数据集

100min视频 | Python文本分析与会计

在jupyter内运行R代码

blogdown包 | 使用R语言维护Hugo静态网站
R语言 | 使用posterdown包制作学术会议海报
R语言 | 使用officedown包在Rmarkdown中制作PPT
R语言 | 使用ggsci包绘制sci风格图表

R语言 | 将多个txt汇总到一个csv文件中

继续滑动看下一个
大邓和他的Python
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存