У меня ниже Shiny-app
, в котором находится 2 selectInput()
library(shiny)
shinyApp(
ui = fluidPage(
selectInput("variable", "Variable:",
c("A" = "A",
"B" = "B",
"C" = "C")),
uiOutput("moreControls")
),
server = function(input, output) {
output$moreControls <- renderUI({
Choice = input$variable
if (Choice == 'A') Result = c('X1', 'X2', 'X3')
if (Choice == 'B') Result = c('Y1', 'Y2', 'Y3')
if (Choice == 'C') Result = c('Z1', 'Z2', 'Z3')
selectInput("variable1", "Variable-1:", Result)
})
}
)
Теперь, скажем, когда variable = 'A'
пользователь выбирает 'X2'
.Теперь пользователь переходит к variable = 'C'
, чтобы выбрать одно значение, скажем, оно 'Z3'
.Здесь проблема заключается в том, что когда пользователь переходит от 'A'
к 'C'
, его первый выбор 'X2'
не сохраняется для дальнейших вычислений в нисходящем направлении.
Как заставить Shiny
запомнить, что пользователь выбрал издругие элементы selectInput и коллективно передать все такие выборы для последующего расчета?Все расчеты и выбор ограничены одним сеансом.