将 knitr::kable() 输出保存到 html 文件 R

Save knitr::kable() output to html file R

我有一个 knitr_kable 输出,我想将其保存为来自 R 的 HTML 文档。我需要从我的 R 脚本中自动将其 运行 保存到 运行,无需人工干预。例如:

dt <- mtcars[1:5, 1:6]
kable(dt, "html") %>% kable_styling(bootstrap_options = c("striped", "hover"))

这有 html 输出,但 class 是 knitr_kable 所以我不能将它写入 table 或 html 文件,因为它不能被强制到一个数据框。

class(kable(dt, "html"))
[1] "knitr_kable"

有人有办法将这些电缆之一保存为 html 文件吗?


我试过:

library(xml2)
options(knitr.table.format = "html") 
write_html(kable(dt, "html"), "df.html")))

这里有错误:

Error in UseMethod("write_html") : no applicable method for 'write_html' applied to an object of class "knitr_kable"


我的猜测是 knitr_kable 对象必须首先被强制转换为 html 对象,然后保存为 html 文件。但我不确定该怎么做。

在您的 R 脚本中另存为 HTML

readr 包有一个 write_file 函数,可以写入数据 "as it is",所以 HTML 在你用 knitr::kable 创建的情况下.

dt <- mtcars[1:5, 1:6]
kable_out <- knitr::kable(dt, "html") %>% kableExtra::kable_styling(bootstrap_options = c("striped", "hover"))
readr::write_file(kable_out, "kable_out.html")

或者:在 R Studio 中另存为 temp.Rmd

如果您在 R Studio 中将以下内容保存为 R Markdown 文件(例如,temp.Rmd),您可以通过单击 RStudio 左上角的 Knit 创建 HTML。

---
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
```

## Table 1

```{r table1, echo = FALSE}
dt <- mtcars[1:5, 1:6]
knitr::kable(dt, "html") %>% kableExtra::kable_styling(bootstrap_options = c("striped", "hover"))
```

在 R Studio 中单击编织

cat 函数将满足您的需求。

library(knitr)
library(kableExtra)
library(magrittr)

dt <- mtcars[1:5, 1:6]

kable(dt, "html") %>%
  kable_styling(bootstrap_options = c("striped", "hover")) %>%
  cat(., file = "df.html")

结果 table 如下所示: