分享

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

 九斗酒 2017-07-28

引言


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

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

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

安装及加载


使用说明


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

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

attitude数据集中包括rating、complaints等八个变量:

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

怎么样?是不是感觉还不错。


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

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

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

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


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

  • 更改变量名;

  • 删除极大似然统计量、残差标准差、F统计量;

  • 删除表中的空行。


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

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

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


4.展示置信区间


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

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


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


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

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


6.以ASCII格式输出:

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

相应地,将type参数分别设置为text、html、latex即可。


7.展示矩阵

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

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


8.自定义变量

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

与 rmarkdown 一起食用


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

因此,stargazer与rmarkdown一起食用,风味更佳。


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

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

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

注意以下几点:

  • 要加上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./web/packages/stargazer/vignettes/stargazer.pdf

本文作者:Vector

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多