错误:呈现ValueBox时,应使用类“ shiny.tag”的对象

时间:2018-11-13 05:30:35

标签: r shiny dplyr shinydashboard

我的发光仪表板应用程序中有两个R文件。 global.Rapp.R

global.R下,我具有以下结构。

ShedArea <- c("Shed 1", "Shed 2", "Shed 3","Shed 4")
SeedsReceived_KGS <- c(14,24,8,19)
DF <- data.frame(ShedArea,SeedsReceived_KGS,stringsAsFactors = FALSE)
shed_area <- unique(DF$ShedArea)
mean_seeds <- mean(DF$SeedsReceived_KGS)

app.R中,我实现了一个pickerInput,其中一个可以选择一个或所有棚屋,另外一个valueBoxOutput用于显示所选棚屋或所有棚屋的均值。

app.R的内容。

UI

source("global.R")
valueBoxOutput("av_seeds_received")
pickerInput(inputId = "shed", label = "Select Shed", choices = shed_area, selected = shed_area, options = list(`actions-box` = TRUE),multiple = TRUE)

服务器

output$av_seeds_received <- renderValueBox({
filter(DF, ShedArea==input$shed) %>%
valueBox("Seeds Received", round(mean_seeds, digits=2))
})

当我runApp()时,我得到一个Error: Expected an object with class 'shiny.tag'.

我该如何解决这个问题,以便在选择棚子时显示收到的种子的平均值?

2 个答案:

答案 0 :(得分:2)

这可能无法解决OP的确切问题,但是当我在Tab代码中使用icon = ("keyboard")(而不是icon = icon("keyboard"))时,我也得到了这个神秘的错误

只要把这个留在这里,以防其他人像我一样从谷歌那里得到这个错误。

答案 1 :(得分:1)

这可能是您需要的-

output$av_seeds_received <- renderValueBox({
  df <- filter(DF, ShedArea %in% input$shed)
  mean_seeds <- mean(df$SeedsReceived_KGS, na.rm = T) %>% round(2)
  valueBox(mean_seeds, "Seeds Received")
})