我正在使用Shiny来做R Web应用程序,该应用程序由位于主面板左侧的sidebarpanel(带有2个tabspanel)和下面的另一个sidebarpanel组成。
我要为第一个主面板保留底部侧栏面板,但为第二个主面板移除它。
代码如下:

  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)
  )


 )
)

最佳答案

对于面临相同问题的人,您必须使用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)
    )

  )

关于r - 删除特定tabPanel的sidebarPanel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37277983/

10-10 19:35