Ошибка: Ожидается объект с классом «iny.tag »при рендеринге ValueBox - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть два файла 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.

Интерфейс пользователя

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'.

Как мне решить эту проблему, чтобы при выборе сарая отображалось среднее значение полученных семян?

1 Ответ

0 голосов
/ 13 ноября 2018

Вот то, что вам, вероятно, нужно -

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")
})
...