'shiny' extension that adds regular expression filtering capabilities to the choice vector of the select list.
R package to enable regular expression searches within a shiny selectize object.
devtools::install_github('yonicd/regexSelect')
require(shiny) if(interactive()){ui <- shiny::fluidPage(regexSelectUI(id = "a", label = "Variable:",choices = names(iris)),shiny::tableOutput("data")) server <- function(input, output, session) { curr_cols<-callModule(regexSelect, "a",shiny::reactive(names(iris))) observeEvent(curr_cols(),{ cols_now<-curr_cols() if(length(cols_now)==0) cols_now<-names(iris) output$data <- shiny::renderTable({iris[,cols_now , drop = FALSE]}, rownames = TRUE) })} shiny::shinyApp(ui, server) }
library(ggplot2)ui <- fluidPage( selectInput('var','Choose Variable', choices = names(diamonds)[sapply(diamonds,function(x) inherits(x,c('character','factor')))], selected = 'clarity'), uiOutput('regexchoose'), plotOutput("data") ) server <- function(input, output, session) { output$regexchoose<-shiny::renderUI({ regexSelectUI(id = "a", label = input$var,choices = unique(diamonds[[input$var]])) }) observeEvent(input$var,{ curr_cols<-callModule(regexSelect, "a",shiny::reactive(unique(diamonds[[input$var]]))) observeEvent(curr_cols(),{ cols_now<-curr_cols() output$data <- shiny::renderPlot({ ggplot(diamonds[diamonds[[input$var]]%in%cols_now,],aes_string(x='table',y='carat',colour=input$var))+geom_point() }) }) }) } shinyApp(ui, server)