我有两个不同时间长度的数据集。我希望用户能够根据他们选择的数据集选择要查看的年份范围。目前,我正在使用两个条件语句。到目前为止我所做的问题是,一旦用户更改了他们想要查看的输入/数据集,就会出现两个滑块输入。
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& while),但我希望有一种更简单的方法。
谢谢
答案 0 :(得分:2)
我最终使用了渲染服务器端的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()))
})
这可能是一种更有效和更优雅的方式,但这对我有用。 Here is a link for additional dynamic user interface information.