要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)

引言

使用stargazer包可以将 R 构建的模型结果以LATEXHTMLASCII格式输出,方便我们生成标准格式的表格。

再结合rmarkdown,你就可以轻轻松松输出一篇优雅的文章啦~

本文“使用说明”部分主要参考stargazer的说明文档。(https://vectorf.github.io/)

安装及加载

80ed

使用说明

**注意:stargazer包的输出结果是相应格式的,例如输出LATEX格式,可以直接将结果粘贴进WinEdt等编辑器中输出表格。下文直接将结果以表格的形式展示。

我们使用 R 中自带的数据集attitude来简要说明stargazer包的用法。

81ed

attitude数据集中包括ratingcomplaints等八个变量:

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第1张图片
82ed

1.展示数据集的描述性分析和部分数据集内容

83ed
要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第2张图片
85ed

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第3张图片
86ed

怎么样?!是不是感觉还不错~

2.展示线性模型结果,并加上表名

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第4张图片
87ed

88ed

我们构建了两个线性模型和一个 Probit 模型,并将结果输出。

使用title参数将其命名为“Results”;

使用align参数使数字排列整齐。

3.对模型结果输出做部分调整:

  • 更改变量名;
  • 删除极大似然统计量、残差标准差、F统计量;
  • 删除表中的空行。

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第5张图片
89

90

使用 dep.var.labelscovariate.lables参数分别将因变量和自变量重命名为容易理解的形式;

使用omit.stat参数控制对数似然比(“LL”)、标准化残差(“ser”)和F统计量(“f”),这三个统计量不在输出结果中展示;

使用no.space参数将输出表格中的空行删去。

4.展示置信区间

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第6张图片
91ed

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第7张图片
92ed

使用 cici.level参数展示90%的置信区间;

使用single.row参数使估计量与置信区间并排展示。

5.调整变量展示顺序,加上样本量,并移除其他统计量

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第8张图片
93ed

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第9张图片
94ed

使用order参数控制自变量展示的顺序,即将learningprivileges放在表的前两行;

使用keep.stat参数控制要展示的统计量,keep.stat="n"即只展示样本量的大小,并移除其他统计量。

6.以ASCII格式输出:

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第10张图片
95ed

96ed

使用 type参数控制以 ASCII格式输出,还可以选择输出 HTML格式。默认为 LATEX格式。

相应地,将type参数分别设置为texthtmllatex即可。

7.展示矩阵

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第11张图片
97ed

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第12张图片
98ed

stargazer也可以用来展示向量、矩阵或者数据框的内容。

我们建立了attitude数据集中变量ratingcomplaintsprivileges的相关系数矩阵,并展示出来。

8.自定义变量

我们使用sandwich包来计算异方差-稳健标准误,并将其与默认计算的标准差一同展示。

要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)_第13张图片
99ed

00ed

rmarkdown 一起食用

rmarkdown包可直接在RStudio中编辑符合 markdown语法的文档,并兼容LATEX格式。而且可以直接输出成HTMLpdf等格式的文档。

因此,stargazerrmarkdown一起食用,风味更佳~

首先,你需要在Rstudio中安装rmarkdown

01ed

然后,就可以原先新建脚本的地方发现,可以新建一个R Markdown文件啦。

rmarkdown中,用如下所示的形式来表示代码块:

02ed

注意以下几点:

  • 要加上results='asis'保证输出的是表格,而不是LATEX格式;
  • 参数align失效,不能加上;
  • 加上参数header=F,以避免输出关于包作者的一些信息。

其余用法与上述使用说明基本相同。这样就可以直接输出如上所示的表格了。

总结

stargazer用一行代码就可以解决模型结果输出成表格的问题,而且支持大量模型。具体可查看该包的说明文档。

最后,如果在你的文章中有使用了stargazer包。记得附注以下作者的信息哦。

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


stargazer包的说明文档:https://cran.r-project.org/web/packages/stargazer/vignettes/stargazer.pdf

本文作者:Vector

你可能感兴趣的:(要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包))