我的仪表板输出包更新后的错误消息

Error Msgs After Package Updates for My Dashboard Outputs

我今天早上刚刚安装了一堆新的软件包更新(包括 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,并且一切都恢复正常了。似乎新包要么充满了错误,要么我需要对图表进行不同的编码?我找不到任何有用的资源。有人能帮忙吗?

我认为您安装的新包具有与旧包同名的对象,因此 "overwriting" 您的旧对象。您可以尝试使用 graphics::layout() 而不是 layout() 来访问您的蒙版对象。

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