0
特定のタブが選択されているときにのみ表示されるselectInputメニューを作成しようとすると、他のメニューで選択できるものに固有のselectInputメニューが表示されます。以下 は、私がselectLifestageメニューは、EFHマップタブが選択されている場合にのみ表示されるようにしたい、とに応じて、 conditionPanel in Rの複数の条件
server <- function(input, output) {
mapSpecies <- reactive({
switch(input$selectSpecies,
"ALMACOJACK" = "ALMACOJACK",
"BANDEDRUDDERFISH" = "BANDEDRUDDERFISH",
"BLACKGROUPER" = "BLACKGROUPER",
"BLACKFINSNAPPER" = "BLACKFINSNAPPER",
"BLUELINETILEFISH" = "BLUELINETILEFISH",
"BROWNSHRIMP" = "BROWNSHRIMP",
"COBIA" = "COBIA",
"CUBERASNAPPER" = "CUBERASNAPPER")
})
mapfishLifestage <- reactive({
switch (input$fishLifestage,
"spawningAdult"="spawningAdult",
"adult"="adult",
"earlyJuvenile" = "earlyJuvenile",
"lateJuvenile" = "lateJuvenile",
'larvae' = 'larvae',
'postLarvae' = 'postLarvae',
"eggs" = "eggs"
)
})
mapshrimpLifestage <- reactive({
switch (input$shrimpLifestage,
"fertilizedEgg" = "fertilizedEgg",
"latePostlarvaeJuvenile" = "latePostlarvaeJuvenile",
"adult" = "adult",
"spawningAdult"="spawningAdult",
"subAdult" = "subAdult",
"larvae" = "larvae"
)
})
}
server.R
ui.R
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title="Essential Fish Habitat Application"),
dashboardSidebar(
sidebarMenu(id="tab",
menuItem ("Welcome", tabName = "welcome"),
menuItem("EFH Maps",tabName="map"),
selectInput("selectSpecies", h3("Select species"),
c("Almaco jack" = "ALMACOJACK",
"Banded rudderfish" = "BANDEDRUDDERFISH",
"Black grouper" = "BLACKGROUPER",
"Blackfin snapper" = "BLACKFINSNAPPER",
"Blueline tilefish" = "BLUELINETILEFISH",
"Brown shrimp" = "BROWNSHRIMP",
"Cobia" = "COBIA",
"Cubera snapper" = "CUBERASNAPPER"),
selected = "ALMACOJACK"),
conditionalPanel(condition="input.tab=='map' && input.selectSpecies != 'BANDEDRUDDERFISH' ||
input.selectSpecies != 'BLACKGROUPER'",
selectInput("fishLifestage", h3("Select lifestage:"),
c("Eggs"= "eggs",
"Larvae" = "larvae",
"Postlarvae" = "postLarvae",
"Early juveniles" = "earlyJuvenile",
"Late juveniles" = "lateJuvenile",
"Adults" = "adult",
"Spawning adults" = "spawningAdult"
),
selected = 'adult')),
conditionalPanel(condition="input.tab=='map' && input.selectSpecies == 'BANDEDRUDDERFISH' ||
input.selectSpecies == 'BLACKGROUPER'",
selectInput("shrimpLifestage", h3("Select lifestage:"),
c("Fertilized eggs"= "fertilizedEgg",
"Larvae, pre-settlement postlarvae" = "larvae",
"Late postlarvae, juveniles" = "latePostlarvaeJuvenile",
"Sub-adults" = "subAdult",
"Non-spawning adults" = "adult",
"Spawning adults" = "spawningAdult"
),
selected = 'adult')))),
dashboardBody()
)
簡単な再現性の一例です選択された種は、私は魚を望んでいますライフステージ対shrimpLifestageのselectInputメニューを変更します。 conditionPanel条件が2つ以下の文の場合にはこれを動作させていますが、少なくとも3つを評価する必要があります。私は今までこの問題を解決するために私の検索で運がなかった。どんな助けもありがとう!ありがとう