Получить метку группы из сгруппированного списка вариантов в SelectInput (RShiny) - PullRequest
0 голосов
/ 28 января 2019

Как получить имя группы из выбранного входа в раскрывающемся списке selectInput с сгруппированными вариантами?Например, как получить Building после выбора Bank в Building и Nature после выбора Bank в Nature?

Обновленный пример:

# demoing optgroup support in the `choices` arg
shinyApp(
  ui = fluidPage(
    selectInput("state", "Choose a word:",
      list(`Building` = list("Apartment", "Bank", "Hospital"),
           `Nature` = list("Bank", "River", "Orange"),
           `Color` = list("Blue", "Orange", "Red"))
    ),
    textOutput("result")
  ),
  server = function(input, output) {
    output$result <- renderText({
      paste("You chose", input$state)
    })
  }
)

Один из способов - сохранить переменную всех вариантов и их сгруппированных меток и найти, к какой группе относится этот выбор.Но это не работает, когда есть выбор между группами.

1 Ответ

0 голосов
/ 29 января 2019

Вы можете присвоить каждому входу значение вместо непосредственного использования их имени, как показано ниже:

shinyApp(
  ui = fluidPage(
    selectInput("state", "Choose a word:",
                list(`Building` = list("Apartment"="ap", "Bank"="bk", "Hospital"="hp"),
                     `Nature` = list("Bank"="bk1", "River"="rv", "Orange"="or"),
                     `Color` = list("Blue"="bl", "Orange"="or1", "Red"="rd"))
    ),
    textOutput("result")
  ),
  server = function(input, output) {
    output$result <- renderText({
      paste("You chose", input$state)
    })
  }
)
...