2017-05-08 20 views
1

我是新來的R和使用HTML表。我在兩臺不同的筆記本電腦上安裝了R,在其中一臺電腦上工作時,當我使用htmlTable,xtable等時,在RStudio的乘車側的查看器中出現一張表格。但是,在另一臺計算機上,查看器中沒有顯示錶格,但控制檯中顯示了html代碼。是否有另一個我需要呈現html的包?我沒有使用Markdown或任何東西,我只想在查看器中使用htmlTable而不是代碼來查看簡單的表格。HTML表未出現在RStudio查看器中,但僅作爲控制檯中的代碼 - 爲什麼?

我不確定如何使這種重現性,所以我希望有人知道答案。在查看器中顯示實際表格的計算機上,我所做的只是加載htmlTable包,並且它可以工作。

我錯過了什麼?它與我的電腦設置,RStudio版本等有關嗎?

+1

這取決於包裝。 'xtable'只是返回HTML代碼,然後可以將其插入到您的文檔中。其中,'knitr :: kable'和大多數LaTeX格式化器都是這樣做的。某些軟件包會生成一個完整的HTML小部件,它將顯示在查看器中,例如DT。 – alistaire

+2

在這種情況下,一個OP的反烏托邦系統上的一些軟件包已經定義了一個'print.html'的S3方法,並且由於'htmlTable'對象的類是'c(「html」 ,「htmlTable」,「字符」)。 OP調用'print()'或調用'htmltools :: html_print(object_returned_from_call_to_htmlTable)'來實現調用'或者' RStudio Viewer窗格在其系統中的使用一致性。 – hrbrmstr

+0

使用htmltools :: html_print工作!謝謝。如果你把它作爲正式答案,我可以給予信貸。 – Mike

回答

0

這個問題應該有一個答案。這是一個錯誤。雖然我用

if(!code) htmltools::html_print(out_html) else out_html 

如@hrbrmstr的意見建議,似乎修復是中Changes for 1.10所以它現在是(訴1.11.1)可能只是

output <- matrix(1:4,ncol=2, 
    dimnames = list(list("Row 1", "Row 2"), 
        list("Column 1", "Column 2"))) 
print(htmlTable::htmlTable(output,useViewer=TRUE)) 

,我可以簡單地使用useViewer=!code在我的包裝功能。請注意,你也可以做

print(htmlTable::htmlTable(output,useViewer=utils::browseURL)) 

的文檔建議。

相關問題