HTML表未出现在RStudio查看器中,但仅作为控制台中的代码 - 为什么?

问题描述:

我是新来的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

这个问题应该有一个答案。这是一个错误。虽然我用

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)) 

的文档建议。