【问题标题】:Save knitr::kable() output to html file R将 knitr::kable() 输出保存到 html 文件 R
【发布时间】:2018-05-09 15:54:03
【问题描述】:

我有一个 knitr_kable 输出,我想将它保存为 R 中的 HTML 文档。我需要它从我的 R 脚本中自动运行,而无需人工参与。例如:

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

这有 html 输出,但类是 knitr_kable,所以我不能将它写入表或 html 文件,因为它不能被强制转换为数据框。

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

有没有人可以将其中一个 kables 保存为 html 文件?


我试过了:

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

这有错误:

UseMethod("write_html") 中的错误:没有适用的方法 'write_html' 应用于“knitr_kable”类的对象


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

【问题讨论】:

    标签: r knitr


    【解决方案1】:

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

    生成的表格如下所示:

    【讨论】:

    • 为什么不分条?
    【解决方案2】:

    在 R 脚本中另存为 HTML

    readr 包有一个 write_file 函数,可以“按原样”写入数据,因此在您使用 knitr::kable 创建的情况下是 HTML。

    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 中单击编织

    【讨论】:

    • 唯一的事情是我需要它从我的 R 脚本中自动运行,无需人工参与。
    • 我添加了一个解决方案,我相信您会同意我的回答,@jchaykow。
    猜你喜欢
    • 2019-04-08
    • 2020-08-01
    • 2020-10-09
    • 2016-01-27
    • 2017-01-08
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多