“ package”的长度必须为1:HTML Widget错误

时间:2019-01-30 16:21:54

标签: r rstudio htmlwidgets

我正在尝试在“光泽标签列表”类的对象中创建带有flexdashboard元素的html小部件。预期输出:保存在本地驱动器中的html文件。实际输出

Error : Error in system.file(config, package = package) :    'package' must be of length 1

这是该代码的最小版本:

library(flexdashboard)
library(htmlwidgets)
library(htmltools)

myflex1<- gauge(1.5, min = 0, max = 5, symbol = '', gaugeSectors(success = c(0, 2),warning = c(2,3.5 ),danger = c(3.5, 5)))

myflex<-   browsable(tagList
                     (list(tags$div(
                             style = 'position: absolute;
                             left: 100px;top: 350px;display:block',
                             myflex1
                           ))))

htmlwidgets::saveWidget(myflex, "myflex.html")

1 个答案:

答案 0 :(得分:0)

问题是您试图在非窗口小部件上使用htmlwidgets::saveWidget。您应该改用htmltools::save_html;它知道如何编写闪亮标签列表:

htmltools::save_html(myflex, "myflex.html")

请注意,它不会创建一个独立的页面。它将Javascript库列表写入子目录(默认名称"lib")。如果您想要独立的东西,应该可以使用以下代码:

cat(repr::repr_html(myflex), file = "myflex.html")

但我不知道这就是它的目标用户,所以你可能会发现问题。