Stargazer输出是代码,而不是表格

时间:2017-08-16 23:29:24

标签: r r-markdown stargazer

我正在尝试使用RStudio中的包stargazer来生成我的数据的摘要表。出于某种原因,当我使用html或latex代码时,我无法在输出中查看表,但是当我以文本形式输出时,我可以看到它。

一个例子:

library(stargazer)
stargazer(attitude, type = 'text')

输出看起来像(因为它应该):

## 
## =====================================
## Statistic  N   Mean  St. Dev. Min Max
## -------------------------------------
## rating     30 64.633  12.173  40  85 
## complaints 30 66.600  13.315  37  90 
## privileges 30 53.133  12.235  30  83 
## learning   30 56.367  11.737  34  75 
## raises     30 64.633  10.397  43  88 
## critical   30 74.767  9.895   49  92 
## advance    30 42.933  10.289  25  72 
## -------------------------------------

将其设置为乳胶:

stargazer(attitude, type = 'latex')

给出输出:

## 
## % Table created by stargazer v.5.2 by Marek Hlavac, Harvard University. E-mail: hlavac at fas.harvard.edu
## % Date and time: Wed, Aug 16, 2017 - 4:28:34 PM
## \begin{table}[!htbp] \centering 
##   \caption{} 
##   \label{} 
## \begin{tabular}{@{\extracolsep{5pt}}lccccc} 
## \\[-1.8ex]\hline 
## \hline \\[-1.8ex] 
## Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Max} \\ 
## \hline \\[-1.8ex] 
## rating & 30 & 64.633 & 12.173 & 40 & 85 \\ 
## complaints & 30 & 66.600 & 13.315 & 37 & 90 \\ 
## privileges & 30 & 53.133 & 12.235 & 30 & 83 \\ 
## learning & 30 & 56.367 & 11.737 & 34 & 75 \\ 
## raises & 30 & 64.633 & 10.397 & 43 & 88 \\ 
## critical & 30 & 74.767 & 9.895 & 49 & 92 \\ 
## advance & 30 & 42.933 & 10.289 & 25 & 72 \\ 
## \hline \\[-1.8ex] 
## \end{tabular} 
## \end{table}

最后,将其设置为html:

stargazer(attitude, type = 'html')

给出输出:

## 
## <table style="text-align:center"><tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Statistic</td><td>N</td><td>Mean</td><td>St. Dev.</td><td>Min</td><td>Max</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">rating</td><td>30</td><td>64.633</td><td>12.173</td><td>40</td><td>85</td></tr>
## <tr><td style="text-align:left">complaints</td><td>30</td><td>66.600</td><td>13.315</td><td>37</td><td>90</td></tr>
## <tr><td style="text-align:left">privileges</td><td>30</td><td>53.133</td><td>12.235</td><td>30</td><td>83</td></tr>
## <tr><td style="text-align:left">learning</td><td>30</td><td>56.367</td><td>11.737</td><td>34</td><td>75</td></tr>
## <tr><td style="text-align:left">raises</td><td>30</td><td>64.633</td><td>10.397</td><td>43</td><td>88</td></tr>
## <tr><td style="text-align:left">critical</td><td>30</td><td>74.767</td><td>9.895</td><td>49</td><td>92</td></tr>
## <tr><td style="text-align:left">advance</td><td>30</td><td>42.933</td><td>10.289</td><td>25</td><td>72</td></tr>
## <tr><td colspan="6" style="border-bottom: 1px solid black"></td></tr></table>

所以R生成代码,而不是表。有谁知道为什么会这样?不幸的是我在一台不允许我访问互联网的计算机上这样做,所以我不得不通过一个头和一个USB驱动器手动安装所有包,所以我可能在安装所需的各种包时遗漏了一些东西。

我的最终目标是生成一个表格,该表格将作为pdf或word文档导出,可能作为r markdown脚本的一部分。所以我的问题是为什么我不能生成html或者乳胶表?

2 个答案:

答案 0 :(得分:5)

要以pdf格式呈现一个观星表,您可以将此代码添加到空的R降价(.Rmd)文件中:

---
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(stargazer)
```

Here is the latex table in a PDF document:

```{r mylatextable, results = "asis"}
stargazer(attitude, type = 'latex')

```

出现如下:

stargazer table in pdf doc

导出为单词涉及以下内容(取自help(stargazer)):

  

要在Microsoft Word文档中包含stargazer表(例如.doc或.docx),请按照以下步骤操作:使用out参数将输出保存到.htm或.html文件中。在Web浏览器中打开生成的文件。将表格从Web浏览器复制并粘贴到Microsoft Word文档中。

或者,如果表的外观无关紧要,可以将以下内容放在空的.Rmd文件中:

---
output: word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(stargazer)
```

Stargazer table in microsoft word:

```{r word_table, comment = ''}
stargazer(attitude, type = 'text')

```

这导致原始但可读的表:

raw stargazer table in word

答案 1 :(得分:0)

之所以会这样,是因为stargazer旨在生成代码。因此,它就像一个编译器。您可以使用out参数将HTML或LaTeX保存到文件,然后在Internet浏览器或本地LaTeX应用程序中呈现它。您也可以使用Overleaf在线渲染LaTeX。虽然您可以将stargazer与Word一起使用,但不建议这样做。该软件包首先设计用于纯LaTeX文档。我已经在Word和LaTeX中使用了它,并且没有比较。 LaTeX中的结果非常好。