要優雅!一行代碼搞定 R 語言模型輸出!(使用 stargazer 包)
引言
使用stargazer包可以將 R 構建的模型結果以LATEX、HTML和ASCII格式輸出,方便我們生成標準格式的表格。
再結合rmarkdown,你就可以輕輕鬆鬆輸出一篇優雅的文章啦~
本文「使用說明」部分主要參考stargazer的說明文檔。(Vector Blog)
安裝及載入
使用說明
**注意:stargazer包的輸出結果是相應格式的,例如輸出LATEX格式,可以直接將結果粘貼進WinEdt等編輯器中輸出表格。下文直接將結果以表格的形式展示。
我們使用 R 中自帶的數據集attitude來簡要說明stargazer包的用法。
attitude數據集中包括rating、complaints等八個變數:
1.展示數據集的描述性分析和部分數據集內容
2.展示線性模型結果,並加上表名
使用title參數將其命名為「Results」;
使用align參數使數字排列整齊。
3.對模型結果輸出做部分調整:
- 更改變數名;
- 刪除極大似然統計量、殘差標準差、F統計量;
- 刪除表中的空行。
使用omit.stat參數控制對數似然比(「LL」)、標準化殘差(「ser」)和F統計量(「f」),這三個統計量不在輸出結果中展示;
使用no.space參數將輸出表格中的空行刪去。
4.展示置信區間
使用single.row參數使估計量與置信區間並排展示。
5.調整變數展示順序,加上樣本量,並移除其他統計量
使用order參數控制自變數展示的順序,即將learning和privileges放在表的前兩行;
使用keep.stat參數控制要展示的統計量,keep.stat="n"即只展示樣本量的大小,並移除其他統計量。
6.以ASCII格式輸出:
相應地,將type參數分別設置為text、html、latex即可。
7.展示矩陣
我們建立了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.r-project.org/web/packages/stargazer/vignettes/stargazer.pdf
本文作者:Vector
推薦閱讀:
※[原]R語言工程化實踐:RStudio Server環境快速配置教程
※prosper貸款數據EDA分析
※衛視實時收視率對比 | R爬蟲&可視化第1季
TAG:R编程语言 |