我正在尝试使用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或者乳胶表?
答案 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')
```
出现如下:
导出为单词涉及以下内容(取自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')
```
这导致原始但可读的表:
答案 1 :(得分:0)
之所以会这样,是因为stargazer
旨在生成代码。因此,它就像一个编译器。您可以使用out
参数将HTML或LaTeX保存到文件,然后在Internet浏览器或本地LaTeX应用程序中呈现它。您也可以使用Overleaf在线渲染LaTeX。虽然您可以将stargazer
与Word一起使用,但不建议这样做。该软件包首先设计用于纯LaTeX文档。我已经在Word和LaTeX中使用了它,并且没有比较。 LaTeX中的结果非常好。