r语言 - 在一个闪亮的应用程序中,当用户从selectInput输入的内容被更改后,删除一个条件滑块输入



我有两个不同时间长度的数据集。我希望用户能够根据他们选择的数据集选择要查看的年份范围。目前,我使用了两个条件语句。到目前为止,我所做的问题是,一旦用户更改了他们想要查看的输入/数据集,两个滑块输入都会出现。

sidebarLayout(
    sidebarPanel(
        selectInput("data", "Select what you would like to see", 
                    c("Option 1", "Option 2", Option 3")
                    )
conditionalPanel(
           condition = ("input.data == 'Option 1' || 'Option 2')
           sliderInput(
                       "range", "Range of years:", min = ####, 
                        max = year(Sys.Date()), value = c(1990,                   
                        year(Sys.Date()))
                      ),
conditionalPanel(
           condition = ("input.data == 'Option 3')
           sliderInput(
                       "range", "Range of years:", min = ####, 
                        max = year(Sys.Date()), value = c(1985,                   
                        year(Sys.Date())

是否有一种方法可以在用户输入后删除滑块输入?我试过使用条件语句(for &,但我希望有一个更简单的方法。

谢谢

我最终使用了renderUI,它作用于服务器端。代码如下所示:

output$ui <- renderUI({
   if(is.null(input$data))
      return()
   switch(input$data, "Option 1" = sliderInput("range", "Range of years:",
          min=1990, max = year(Sys.Date()))
          ,
          input$data, "Option 2" = sliderInput("range", "Range of years:",
          min=1990, max = year(Sys.Date()))
          ,
          input$data, "Option 3" = sliderInput("range", "Range of years:",
          min=1985, max = year(Sys.Date()))
})

可能有一种更有效和优雅的方法来做这件事,但这对我来说是有效的。

相关内容

  • 没有找到相关文章

最新更新