Возможно ли, чтобы выборы в selectizeInput были строками из фрейма данных?Если да, будут ли возвращенные данные списком элементов из выбранной строки?Я не смог сделать эту работу.В приведенном ниже коде cityInput работает, поскольку варианты выбора - это символьный вектор;но locationInput не работает, список элементов в поле выбора пуст.
Это обычное явление, когда пользовательский ввод требует выбора на основе значений в нескольких столбцах для определения уникальной строки.В приведенном ниже примере разные города имеют одно и то же имя, а штат используется для однозначного определения местоположения.Склеивание двух столбцов вместе - это одно из решений, но в сложных случаях такой подход становится беспорядочным.
library(shiny)
locations <- data.frame(City=c("Ames", "Beaumont", "Beaumont", "Portland", "Portland"),
State=c("IA", "CA", "TX", "ME", "OR"))
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectizeInput("cityInput", "City", choices=NULL, selected=NULL),
selectizeInput("locationInput", "Location", choices=NULL, selected=NULL)
),
mainPanel("Main Panel")
)
)
server <- function(input, output, session) {
updateSelectizeInput(session, 'cityInput',
choices = locations$City,
server = TRUE
)
updateSelectizeInput(session, 'locationInput',
choices = locations,
server = TRUE
)
}
shinyApp(ui, server)