【发布时间】:2019-06-21 21:51:08
【问题描述】:
如何从selectInput 带有分组选项的下拉框中的选定输入中获取组名?比如Building中选择Bank,Nature中选择Nature后如何得到Building?
更新示例:
# 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)
})
}
)
一种方法是存储所有选项及其分组标签的变量,然后搜索该选项来自哪个组。但是当组之间有重叠的选择时,这不起作用。
【问题讨论】:
-
您可以将列表保存在变量
lst中,然后通过names(which(sapply(lst, "%in%", x = input$state)))获取列表名称 -
@BigDataScientist 感谢您的评论。是的,如果选择在组中是唯一的,则此方法有效。但是,如果不同组中有重叠的选择怎么办?有没有通用的方法来处理这种情况?
-
那么期望的输出是什么:两者,第一个,最后一个?
-
@BigDataScientist 问题和示例已更新。希望这能回答您的问题。
标签: r shiny selectinput