Я знаю, что уже есть некоторые вопросы по этим темам, но я все еще борюсь со своим собственным проектом.
В моем блеске есть три выбранных виджета ввода, которые должны реагировать друг на друга. Возможны только те комбинации, которые имеют смысл.
Код теперь обновляется для использования mtcars. имена некоторых переменных странные сейчас, но это должно иметь значение.
library(shiny)
ui <- fluidPage(
selectInput(inputId = "INseason", label = "Season", choices = c("ALL", sort(unique(mtcars$am), decreasing = TRUE)), selected = NULL),
selectInput(inputId = "INcategory", label = "Category", choices = c("ALL", sort(unique(mtcars$gear))), selected = NULL),
selectInput(inputId = "INteams", label = "Team", choices = c("ALL", sort(unique(mtcars$carb))), selected = NULL)
)
server <- function(input, output, session) {
rv <- reactiveValues()
rv$data <- mtcars
observe({
if(input$INseason != "ALL") {
rv$data <- filter(rv$data, am == input$INseason)
}
if(input$INcategory != "ALL") {
rv$data <- filter(rv$data, gear == input$INcategory)
}
if(input$INteams != "ALL") {
rv$data <- filter(rv$data, carb == input$INteams)
}
})
observe({
updateSelectInput(session, "INseason", choices = c("ALL", sort(unique(rv$data$am), decreasing = TRUE)))
updateSelectInput(session, "INcategory", choices = c("ALL", sort(unique(rv$data$gear))))
updateSelectInput(session, "INteams", choices = c("ALL", sort(unique(rv$data$carb))))
})
}
shinyApp(ui, server)
С этим кодом я не могу выбрать что-то, потому что "ВСЕ" уже выбрано.
Спасибо за вашу помощь!
Лучший