我有两个不同时间长度的数据集。我希望用户能够根据他们选择的数据集选择要查看的年份范围。目前,我使用了两个条件语句。到目前为止,我所做的问题是,一旦用户更改了他们想要查看的输入/数据集,两个滑块输入都会出现。
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()))
})
可能有一种更有效和优雅的方法来做这件事,但这对我来说是有效的。