代码之家  ›  专栏  ›  技术社区  ›  conv3d

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

  •  5
  • conv3d  · 技术社区  · 8 年前

    我有一个可裁剪的输出,我想从R保存为HTML文档。我需要从我的R脚本自动运行该输出,无需人工参与。例如:

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

    这有html输出,但类是 knitr_kable

    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\u html”)中出错:没有适用的方法 “write\u html”应用于“knitr\u kable”类的对象


    我的猜测是,knitr\u kable对象必须首先强制为html对象,然后保存为html文件。但我不知道该怎么做。

    2 回复  |  直到 8 年前
        1
  •  12
  •   Peter    8 年前

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

    生成的表如下所示:

    enter image description here

        2
  •  6
  •   Rick Pack    8 年前

    在R脚本中另存为HTML

    这个 readr 包具有 write_file 函数,该函数将“按原样”写入数据,因此在使用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工作室Rmd

    如果将以下内容保存为R Studio中的R标记文件(例如,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中的针织

    enter image description here