我的发光仪表板应用程序中有两个R文件。 global.R
和app.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'.
我该如何解决这个问题,以便在选择棚子时显示收到的种子的平均值?
答案 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")
})