2016-06-30 8 views
0

私は時間の長さが異なる2つのデータセットを持っています。私は、ユーザーが選択したデータセットに基づいて表示する年の範囲を選択できるようにしたいと思います。現在、2つの条件文を使用しています。私がこれまで行ってきた問題は、ユーザーが見たい入力/データセットを変更すると、両方のスライダ入力が存在することです。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()) 

ユーザ入力後にスライダ入力の1つを削除する方法はありますか?私は条件文(&の間)を使ってみましたが、もっと簡単な方法があることを期待しています。

ありがとう

答えて

2

私はサーバー側で動作するレンダリングUIを終了しました。コードは次のようになります:

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.

関連する問題