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

引言

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

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

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

安装及加载

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

使用说明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 更改变量名;
  • 删除极大似然统计量、残差标准差、F统计量;
  • 删除表中的空行。
要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)
要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)

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

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

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

4.展示置信区间

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

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

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

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

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

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

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

6.以 ASCII 格式输出:

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

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

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

7.展示矩阵

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

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

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

8.自定义变量

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

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

rmarkdown 一起食用

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

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

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

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

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

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

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

注意以下几点:

  • 要加上 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

说明文档: https://cran.r-project.org/web/packages/stargazer/vignettes/stargazer.pdf “stargezer.pdf”

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

本文作者: Vector

原文 

http://datartisan.com/article/detail/202.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 要优雅!一行代码搞定 R 语言模型输出!(使用 stargazer 包)

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址