【问题标题】:Error Msgs After Package Updates for My Dashboard Outputs我的仪表板输出的包更新后的错误消息
【发布时间】:2017-02-04 23:18:51
【问题描述】:

我今天早上刚刚安装了一堆新的软件包更新(包括 plotly、dygraphs、rCharts、shiny 和 shinydashboard),突然间,我工作了几个月的仪表板上的几乎所有输出都损坏了,而昨天它们工作没有问题!对于大多数图表,我收到以下错误:

ERROR: object of type 'closure' is not subsettable

这适用于像这样的绘图:

ui:
plotlyOutput("Top10Events")

server:
output$Top10Events <- renderPlotly({

  x <- list(
    title = " "
  )
  y <- list(
    title = "Total Events"
  )
   plot_ly(x = Top10$event, 
           y = Top10$totalEvents.x, 
           type = "bar", 
           color = Top10$totalEvents.x,
           name = "This Month",
           marker = list(color = brewer.pal(10, "Paired"))) %>%
     layout(xaxis = x, yaxis = y, autosize = F, width = 700, height = 350, margin = m)

   p2 <- add_trace(
     p,
     x = Top10$event, 
     y = Top10$totalEvents.y, 
     name = "Last Month",
     type = "bar",
     color = Top10$totalEvents.y,
     marker = list(color = brewer.pal(10, "Paired")))
 })

我读到这个错误主要发生在 {} 缺少反应值时,但由于昨天一切正常,我认为这不是问题所在。

我认为这可能是一个闪亮的问题?于是我成功安装了旧版本的Shiny(0.13.2),却得到一个新的错误:

  Error in get(Info[i, 1], envir = env) : 
    lazy-load database 'C:/Users/user/Documents/R/R-         
  3.3.1/library/shiny/R/shiny.rdb' is corrupt
  In addition: Warning message:
  In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1

也尝试使用较旧的 Shinydashbaord 版本 (0.5.2),但安装时出现以下错误:

The following object is masked from ‘package:graphics’:

    box

我的 R & RStudio 版本显然也是最新的。

关于如何进一步处理调试过程并保存我的仪表板有什么建议吗?

非常感谢,任何帮助表示赞赏!

编辑: 我可以在 https://cran.r-project.org/src/contrib/Archive/plotly/ 上找到的最新最旧的 plotly 版本只有 plotly_3.6.0,而我目前正在运行 4.5.2(我认为这可能是一个 plotly 问题)。 尝试安装3.6.0版本,又报如下错误:

The following object is masked from ‘package:igraph’:

    %>%

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:graphics’:

    layout

编辑 2:对所有的编辑感到抱歉 - 所以现在我设法上传了旧的 plotly 包 3.6.0,一切都恢复了。似乎新软件包充满了错误,或者我需要以不同的方式对图表进行编码?我找不到任何有用的资源。有人可以帮忙吗?

【问题讨论】:

    标签: r shiny shinydashboard


    【解决方案1】:

    我认为您安装的新软件包具有与旧软件包同名的对象,从而“覆盖”您的旧对象。您可以尝试使用 graphics::layout() 而不是 layout() 来访问蒙版对象。

    编辑:查看here 了解更多信息。

    【讨论】:

    • 谢谢!帮了大忙!
    猜你喜欢
    • 2019-04-24
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多