我今天早上刚刚安装了一堆新的软件包更新(包括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,或者我需要以不同的方式编写我的图形代码?我找不到任何有用的资源。有人可以帮忙吗?
答案 0 :(得分:1)
我认为您安装的新软件包具有与旧软件包同名的对象,因此&#34;覆盖&#34;你的旧物件。您可以尝试使用graphics :: layout()而不是layout()来访问被遮罩的对象。
修改:查看here了解详情。