【问题标题】:'package' must be of length 1 : HTML Widget error“包”的长度必须为 1:HTML 小部件错误
【发布时间】:2019-01-30 16:21:54
【问题描述】:

我正在尝试在“闪亮标签列表”类的对象中创建一个带有 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")

【问题讨论】:

  • 如果您需要任何帮助,您需要发布一个可重现的最小示例。
  • 这里添加代码sn-p。谢谢。
  • 这不是一个可重现的例子,而且可能不是最小的。您需要发布一些独立的内容并产生您所看到的问题。使用该 sn-p,我收到 browsable 函数未知的错误。我猜你的意思是htmltools 中的那个,但是我收到一个关于缺少fileSize 的错误,因为我没有满足file.path("***.jpg") 的文件。
  • 您好先生,我已经添加了代码的整个部分并进行了必要的修改。基本上,我正在尝试使用 flexdashboard 仪表创建仪表板并创建一个闪亮的标签列表来创建一个 html 文件。虽然创建的对象可以在 R 上浏览,但我无法使用 htmlwidget 保存它。谢谢
  • 您需要将您的示例简化为产生问题的最小示例。我不会帮你调试的。

标签: r rstudio htmlwidgets


【解决方案1】:

问题是您试图在不是小部件的东西上使用htmlwidgets::saveWidget。您应该改用htmltools::save_html;它知道如何写一个闪亮的标签列表:

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

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

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

但我不确定它的用途是什么,所以你可能会发现问题。

【讨论】:

  • 您好,我同意 save_html 可用于创建文件。但是,该文件不是独立的,因此可以将其发送到不同的位置,因为在这种情况下不会填充 html 文件的仪表板。当我从查看器窗格>导出>另存为网页手动保存文件时,文件运行良好。但是我不知道如何通过脚本调用相同的。你能帮忙吗?谢谢
  • 我添加了一个替代解决方案。
  • 这真的很有帮助!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多