【问题标题】:HTML Table not Appearing in RStudio Viewer but Only as Code in the Console - Why?HTML 表未出现在 RStudio 查看器中,而仅作为控制台中的代码出现 - 为什么?
【发布时间】:2017-10-05 23:27:57
【问题描述】:

我不熟悉在 R 中制作表格并使用 html。我在两台不同的笔记本电脑上有 R,在其中一台计算机上工作时,当我使用 htmlTable、xtable 等时,RStudio 骑行侧的查看器中会出现一个表格。但是,在另一台计算机上,查看器中没有显示表格,但控制台中显示了 html 代码。我需要另一个包来呈现 html 吗?我没有使用 Markdown 或任何东西,我只想在查看器中查看使用 htmlTable 而不是代码的简单表格。

我不确定如何使这个可重现,所以我希望有人知道答案。在查看器中显示实际表格的计算机上,我所做的只是加载 htmlTable 包,它可以工作。

我错过了什么?它与我的计算机设置、RStudio 版本等有关吗?

【问题讨论】:

  • 这取决于包。 xtable 只返回 HTML 代码,然后您可以将其插入到您的文档中。其中,knitr::kable 和大多数 LaTeX 格式化程序都是这样做的。一些包会生成一个完整的 HTML 小部件,该小部件将显示在查看器中,例如DT。
  • 在这种情况下,OP 的反乌托邦系统之一上的某个包定义了一个 print.html S3 方法,它在 printing 中处于领先地位,因为 htmlTable 对象的类是 @ 987654326@。 OP shld 在调用 print() 或显式调用 htmltools::html_print(object_returned_from_call_to_htmlTable) 之前调试或执行 class(object_returned_from_call_to_htmlTable) <- c("htmlTable", "html", "character") 以实现 RStudio Viewer 窗格在其系统中的使用一致性。
  • 使用 htmltools::html_print 有效!谢谢。如果您将其作为官方答案,我可以给予信任。

标签: r


【解决方案1】:

这是一个错误。当我使用

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

正如 cmets 中的 @hrbrmstr 所建议的那样,似乎修复在 Changes for 1.10 中,所以现在(v. 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))

如文档所示。

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多