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

时间:2016-09-27 10:51:01

标签: r shiny shinydashboard

我今天早上刚刚安装了一堆新的软件包更新(包括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&amp; RStudio也是最新的。

有关如何进一步处理调试过程并保存仪表板的任何建议?

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

编辑: 我在https://cran.r-project.org/src/contrib/Archive/plotly/上可以找到的最新的最新版本只有plotly_3.6.0,而我目前正在运行4.5.2(因为我认为它可能是一个阴谋问题)。 试图安装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:对不起所有的编辑 - 所以现在我设法上传旧的情节包3.6.0,一切都有效。好像新的软件包有很多bug,或者我需要以不同的方式编写我的图形代码?我找不到任何有用的资源。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我认为您安装的新软件包具有与旧软件包同名的对象,因此&#34;覆盖&#34;你的旧物件。您可以尝试使用graphics :: layout()而不是layout()来访问被遮罩的对象。

修改:查看here了解详情。