2016-05-17 7 views
4

私はun R Webアプリケーションを実行するためにshinyを使用しています。このアプリケーションはメインパネルの左側にあるサイドバーパネル(2つのtabspanel)と下のサイドバーパネルで構成されています。 最初のメインパネル用のサイドバーパネルを残したいが、それを2番目のメインパネルには残しておきたい。 コードは次のようになります。同じ問題に直面している人々のために特定のtabPanelのサイドバーパネルを取り除く

sidebarPanel(

    wellPanel(

     fileInput('file1', 'Choisissez les data service ?', 
       accept = c('text/csv', 'text/comma-separated-values', 
       'text/tab-separated-values', 'text/plain', 
       '.csv', '.tsv', 'RData' 
       ) 
    ) 


    ), 


    wellPanel(

     selectInput(inputId = "fonction.de", 
        label = "En fonction de ?", 
        choices = fonctions.de, 
        selected = "perimetre_commercial_estime" 
    ), 


     selectInput(inputId = "perimetre", 
        label = "Perimetres commercial", 
        choices = perimetres, 
        selected = "2-HDM MARCHAND", 
        multiple = TRUE 
    ), 

     checkboxInput(inputId = "case1", label = "Tous perimetres", value = FALSE), 


     selectInput(inputId = "ae", 
        label = "AE", 
        choices = aes, 
        selected = "AE Paris", 
        multiple = TRUE 
    ), 

     checkboxInput(inputId = "case2", label = "Tous AE", value = FALSE), 


     selectInput(inputId = "segment", 
        label = "Segment commercial", 
        choices = segments, 
        selected = "Premium", 
        multiple = TRUE 
    ), 

     checkboxInput(inputId = "case3", label = "Tous segments", value = FALSE) 





    ) 
), 

    mainPanel(

    tabsetPanel(type = "tabs", 
       tabPanel("Graphiques", 
         plotlyOutput("my.chart")), 
       tabPanel("Tables", 
         dataTableOutput("my.table"), 
         htmlOutput("my.text1")) 

    ) 
), 

    sidebarPanel(

    selectInput(inputId = "abscisse", 
       label = "Abscisse", 
       choices = abscisses, 
       selected = "", 
       multiple = FALSE 
    ), 


    selectInput(inputId = "ordonnee", 
       label = "Ordonnee", 
       choices = ordonnees, 
       selected = "", 
       multiple = FALSE 
    ) 

), 


    sidebarPanel(
    img(src="Dymetryyy.jpg", height = 150, width = 350) 
) 


) 
) 
+0

コンディションパネルは私が思う仕事をすることができますか? –

答えて

3

、あなたはそれを解決するためにconditionalPanelを使用する必要があります。

mainPanel(

    tabsetPanel(id = "bab", 
       type = "tabs", 
       tabPanel(value = "graphiques", 
         "Graphiques", 
         plotlyOutput("my.chart")), 
       tabPanel(value = "tables", 
         "Tables", 
         dataTableOutput("my.table"), 
         htmlOutput("my.text1")) 

    ) 
), 

    conditionalPanel(condition = "input.bab == 'graphiques'", 
    sidebarPanel(

     selectInput(inputId = "abscisse", 
        label = "Abscisse", 
        choices = abscisses, 
        selected = "", 
        multiple = FALSE 
    ), 


     selectInput(inputId = "ordonnee", 
        label = "Ordonnee", 
        choices = ordonnees, 
        selected = "", 
        multiple = FALSE 
    ) 

    ), 


    sidebarPanel(
     img(src="dymetryyy", height = 150, width = 350) 
    ) 

) 
関連する問題