在 R 中的 knit 文档中插入 HTML 表格

2023-12-15

我有许多不同的 HTML 文件,其中包含格式化的表格,我想将这些表格合并到 R 中的 knit 报告中。不幸的是,我在将 HTML 文件加载到 R 中并将表格包含在我的knitr 报告中时遇到了一些问题。

HTML 文件是使用 MS Excel 和 stargazer 库中的“另存为 htm”功能创建的。它们在任何浏览器中都能完美显示。我的代码是:

```{r, echo=FALSE, return='asis'}
library(XML)
overview.html <- htmlParse("overview.htm")
print(overview.html)
```

在控制台中打印“overview html”时,我得到了正确的 html 代码。但是,在编写报告时,输出文档不包含我的代码,并且出现以下错误:

Warning message:
XML content does not seem to be XML: 'overview.htm' 

我尝试了上述的几种变体(使用 htmlTreeParse、使用 print type = "html" 选项等)但无济于事。如果有人能提出一种可行的方法,那就太好了。


如果您想保留格式(并且也不用担心 XML/HTML 的变化),您可以使用<iframe>将完整的 HTML 文档嵌入到knitr 文档中,如下所示:

```{r echo=FALSE, results='asis'}
tmp <- URLencode(paste(readLines("/path/to/table.htm"), collapse="\n"))

cat('<iframe src="data:text/html;charset=utf-8,', tmp ,
    '" style="border: none; seamless:seamless; width: 800px; height: 200px"></iframe>')
```

它不会显示在 RStudio 查看器中,但它will显示在真实浏览器中:

enter image description here

你需要调整width and height(我可以/应该做height对于这个例子来说要少一点),但是这样你就可以在你的 knitted 文档中拥有完全格式化/样式化的表格。

注意:这仅在编织到 HTML 时才有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中的 knit 文档中插入 HTML 表格 的相关文章

随机推荐