Selectize and multiple selectInput in Shiny. #r #shiny
library(shiny)
library(ggplot2)
library(dplyr)
library(DT)
load(url("http://s3.amazonaws.com/assets.datacamp.com/production/course_4850/datasets/movies.Rdata"))
all_studios <- sort(unique(movies$studio))
# UI
ui <- fluidPage(
sidebarLayout(
# Input(s)
sidebarPanel(
selectInput(inputId = "studio",
label = "Select studio:",
choices = all_studios,
selected = "20th Century Fox",
selectize = TRUE,
multiple = TRUE)
),
# Output(s)
mainPanel(
DT::dataTableOutput(outputId = "moviestable")
)
)
)
# Server
server <- function(input, output) {
# Create data table
output$moviestable <- DT::renderDataTable({
req(input$studio)
movies_from_selected_studios <- movies %>%
filter(studio %in% input$studio) %>%
select(title:studio)
DT::datatable(data = movies_from_selected_studios,
options = list(pageLength = 10),
rownames = FALSE)
})
}
# Create a Shiny app object
shinyApp(ui = ui, server = server)