首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Stargazer的输出是代码,而不是表格

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

Stack Overflow用户
提问于 2017-08-17 07:29:24
回答 2查看 27.5K关注 0票数 6

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

举个例子:

代码语言:javascript
运行
复制
library(stargazer)
stargazer(attitude, type = 'text')

输出看起来像(正如它应该的那样):

代码语言:javascript
运行
复制
## 
## =====================================
## 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 
## -------------------------------------

将其设置为latex:

代码语言:javascript
运行
复制
stargazer(attitude, type = 'latex')

给出输出:

代码语言:javascript
运行
复制
## 
## % 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:

代码语言:javascript
运行
复制
stargazer(attitude, type = 'html')

给出输出:

代码语言:javascript
运行
复制
## 
## <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生成的是代码,而不是表。有人知道为什么会这样吗?不幸的是,我是在一台不允许我访问互联网的计算机上这样做的,所以我不得不通过cran和usb驱动器手动安装所有的软件包,所以我可能在安装所需的各种软件包时遗漏了一些东西。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-17 09:11:35

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

代码语言:javascript
运行
复制
---
output: pdf_document
---

```{r setup, include=FALSE}

knitr::opts_chunk$set(echo =假)

库(Stargazer)

代码语言:javascript
运行
复制
Here is the latex table in a PDF document:

```{r mylatextable, results = "asis"}

观星者(态度,类型= 'latex')

代码语言:javascript
运行
复制

它显示为:

导出到word涉及以下内容(取自help(stargazer)):

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

或者,如果表的外观不太重要,您可以将以下内容放在一个空的.Rmd文件中:

代码语言:javascript
运行
复制
---
output: word_document
---

```{r setup, include=FALSE}

knitr::opts_chunk$set(echo =假)

库(Stargazer)

代码语言:javascript
运行
复制
Stargazer table in microsoft word:

```{r word_table, comment = ''}

stargazer(态度,type = 'text')

代码语言:javascript
运行
复制

这会产生一个原始的但可读的表:

票数 11
EN

Stack Overflow用户

发布于 2018-09-26 09:09:29

这是因为stargazer是为生成代码而设计的。因此,它就像一个转译器。您可以使用out参数将HTML或LaTeX保存到文件,然后在internet浏览器或本地LaTeX应用程序中呈现它。也可以使用Overleaf联机渲染LaTeX。虽然您可以在Word中使用stargazer,但我不建议您这样做。该包首先是为在纯LaTeX文档中使用而设计。我在Word和LaTeX中都使用过它,没有可比性。LaTeX中的结果很不错。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45724432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档