2017-08-16 123 views
0

我想使用RStudio中的package stargazer來生成我的數據的彙總表。出於某種原因,當我使用html或latex代碼時,我無法在輸出中查看錶格,但是當我以文本形式輸出時,我可以看到它。Stargazer輸出是代碼,而不是表格

一個例子:

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生成代碼,而不是表。有誰知道爲什麼會發生這種情況?不幸的是,我在一臺不允許我訪問互聯網的計算機上執行此操作,因此我必須通過一個cran和一個usb驅動器手動安裝所有軟件包,所以我可能在安裝所需的各種軟件包時錯過了某些內容。

這裏我最終的目標是生成一個表格,將其導出爲pdf或word文檔,可能作爲r markdown腳本的一部分。所以真的我的問題是爲什麼我不能生成一個HTML或乳膠表?

任何幫助非常感謝!

回答

1

要呈現在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

導出到Word涉及以下內容(取自help(stargazer)):

包括stargaz在Microsoft Word文檔(例如.doc或.docx)中的呃表中,請遵循以下過程:使用out參數將輸出保存到.htm或.html文件中。在您的網絡瀏覽器中打開結果文件。將表格從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

+0

這適用於R Markdown文檔!謝謝!現在,如果我想用普通的RStudio代碼生成相同的文件(pdf或word),我該怎麼做?代碼不直接翻譯... – Dorton

+0

如果你的意思是從控制檯生成文檔,你可以嘗試'stargazer(attitude,type ='text',out ='foo.doc')''這對我很有用(注意使用.docx不)。儘管這種方法可能更好地支持文本('stargazer(attitude,type ='text',out ='foo.txt')')或者html('stargazer(attitude,type ='text',out =' foo.html')')。否則,代碼可以使用rmarkdown筆記本以交互方式運行http://rmarkdown.rstudio.com/r_notebooks.html – markdly

相關問題