find_vars <- function(data, filter) {
stopifnot(is.data.frame(data))
stopifnot(is.function(filter))
names(data)[vapply(data, filter, logical(1))]
}
selectVarInput <- function(id) {
selectInput(NS(id, "var"), "Variable", choices = NULL)
}
selectVarServer <- function(id, data, filter = is.numeric) {
moduleServer(id, function(input, output, session) {
observeEvent(data(), {
updateSelectInput(session, "var", choices = find_vars(data(), filter))
})
reactive(data()[[input$var]])
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.