標籤:

要優雅!一行代碼搞定 R 語言模型輸出!(使用 stargazer 包)

引言

使用stargazer包可以將 R 構建的模型結果以LATEX、HTML和ASCII格式輸出,方便我們生成標準格式的表格。

再結合rmarkdown,你就可以輕輕鬆鬆輸出一篇優雅的文章啦~

本文「使用說明」部分主要參考stargazer的說明文檔。(Vector Blog)

安裝及載入

使用說明

**注意: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. CRAN.R-project.org/pack

stargazer包的說明文檔:cran.r-project.org/web/

本文作者:Vector

推薦閱讀:

[原]R語言工程化實踐:RStudio Server環境快速配置教程
prosper貸款數據EDA分析
衛視實時收視率對比 | R爬蟲&可視化第1季

TAG:R编程语言 |