【发布时间】:2017-04-04 07:17:18
【问题描述】:
我正在开发一个 Shiny 应用程序,我希望允许用户从更长的基因列表(约 1800 个)中进行选择,然后显示所选基因的相应图表。我的问题是我无法让 Shiny 在 selectInput 框的下拉菜单中显示可供选择的整个基因列表,似乎只显示了前 1000 个左右。
然后我发现了一个使用服务器端选择的有前途的解决方案,当用户开始在选择框中输入时,所有可用的选项都会显示出来。但是,当用户不输入时,下拉菜单仍然不会显示超过前 1000 个基因,这可能表明没有更多可用选项。
出于说明目的,我使用不同的数据集(1396 个机场代码)重新创建了问题:
library(shiny)
library(nycflights13)
ui <- fluidPage(
wellPanel(
fluidRow(
column(12, offset = 0,
titlePanel("Look up airports"))),
fluidRow(
column(3, offset = 0,
selectizeInput(inputId = "airportCode", label = "", choices = NULL,
options = list(placeholder = "Type airport code"))))
)
)
server <- function(input, output, session) {
updateSelectizeInput(session, "airportCode",
choices = as.vector(airports$faa), server = TRUE)
}
shinyApp(ui = ui, server = server)
当您不输入选择框时,下拉菜单中显示的最后一个机场代码仅为“PAM”。然而,当您开始键入时,您可以一直到最后一个“ZYP”,我认为这对用户来说相当混乱。
如果可行的话,最好将所有值都显示在下拉菜单中。否则根本没有列出,只有在您开始输入时才会显示。
【问题讨论】:
标签: r drop-down-menu shiny