我在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的其他元素中选择了什么,并集体传递所有这些选择以进行下游计算?所有计算和选择都限制在一个会话中。