使用 stargazer 可视化多个摘要

Visualizing multiple summaries with stargazer

我目前正在做一个比较多元线性回归的项目。 Stargazer 在为相关模型导出摘要方面做得非常出色,但我一直想知道是否可以在 stargazer 命令中实现一个功能来同时导出多个摘要并以图形方式对它们进行排序。我目前的做法是这样的:

首先,我使用以下方法将相关摘要导出为 html 格式:

stargazer(development_gr_US_pre_BvG, type = "html", out = "whatever")

stargazer(development_gr_US_post_BvG, type = "html", out = "whatever")

对应的输出为:

<table style="text-align:center"><tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td><em>Dependent variable:</em></td></tr>
<tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
<tr><td style="text-align:left"></td><td>n</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">earliest_filing_year</td><td>1.510<sup>*</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.760)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td style="text-align:left">Constant</td><td>-3,007.075<sup>*</sup></td></tr>
<tr><td style="text-align:left"></td><td>(1,523.425)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>14</td></tr>
<tr><td style="text-align:left">R<sup>2</sup></td><td>0.248</td></tr>
<tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>0.185</td></tr>
<tr><td style="text-align:left">Residual Std. Error</td><td>11.463 (df = 12)</td></tr>
<tr><td style="text-align:left">F Statistic</td><td>3.947<sup>*</sup> (df = 1; 12)</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>
</table>

<table style="text-align:center"><tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td><em>Dependent variable:</em></td></tr>
<tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
<tr><td style="text-align:left"></td><td>n</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">earliest_filing_year</td><td>-4.400<sup>**</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.648)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td style="text-align:left">Constant</td><td>8,872.900<sup>**</sup></td></tr>
<tr><td style="text-align:left"></td><td>(1,304.897)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>4</td></tr>
<tr><td style="text-align:left">R<sup>2</sup></td><td>0.958</td></tr>
<tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>0.938</td></tr>
<tr><td style="text-align:left">Residual Std. Error</td><td>1.449 (df = 2)</td></tr>
<tr><td style="text-align:left">F Statistic</td><td>46.095<sup>**</sup> (df = 1; 2)</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>
</table>

然后我将输出传输到 Notepad++ 并按以下方式格式化:

<table style="float: left;">
<tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
<tr><td style="text-align:left"></td><td>n</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">earliest_filing_year</td><td>1.510<sup>*</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.760)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td style="text-align:left">Constant</td><td>-3,007.075<sup>*</sup></td></tr>
<tr><td style="text-align:left"></td><td>(1,523.425)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>14</td></tr>
<tr><td style="text-align:left">R<sup>2</sup></td><td>0.248</td></tr>
<tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>0.185</td></tr>
<tr><td style="text-align:left">Residual Std. Error</td><td>11.463 (df = 12)</td></tr>
<tr><td style="text-align:left">F Statistic</td><td>3.947<sup>*</sup> (df = 1; 12)</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>

<table style="float: left;">
<tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
<tr><td style="text-align:left"></td><td>n</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">earliest_filing_year</td><td>-4.400<sup>**</sup></td></tr>
<tr><td style="text-align:left"></td><td>(0.648)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td style="text-align:left">Constant</td><td>8,872.900<sup>**</sup></td></tr>
<tr><td style="text-align:left"></td><td>(1,304.897)</td></tr>
<tr><td style="text-align:left"></td><td></td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>4</td></tr>
<tr><td style="text-align:left">R<sup>2</sup></td><td>0.958</td></tr>
<tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>0.938</td></tr>
<tr><td style="text-align:left">Residual Std. Error</td><td>1.449 (df = 2)</td></tr>
<tr><td style="text-align:left">F Statistic</td><td>46.095<sup>**</sup> (df = 1; 2)</td></tr>
<tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>
</table>

当我在浏览器中打开文档时,它看起来像

但这只是我的颠簸解决方案。我一直想知道是否有一种很好的方法可以告诉 R 以这种方式立即存储多个摘要,或者 - 甚至更好 - 立即以该格式将它们作为 PNG 给我。感谢您的指导!

stargazer可以很方便地把更多的模型并排展示。作为控制台中的 "text",或导出为 "tex" 或 "html" 文件。所以你只看到协变量标签一次,模型统计也是如此。

library("plm")
library("stargazer")

data("Produc", package = "plm")

# Regression    
model1 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
             data = Produc, 
             index = c("state","year"),
             method="pooling")

model2 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp),
             data = Produc, 
             index = c("state","year"),
             method="pooling")

stargazer(model1, model2, type = "html", out="models.htm")

输出如下所示: