Case Studies: Building Web Applications with Shiny in R
Dean Attali
Shiny Consultant
Dataset
+ Interactive environment
+ View data
+ Filter data
+ Download data
= Shiny app
country | continent | year | lifeExp | pop | gdpPercap |
---|---|---|---|---|---|
Afghanistan | Asia | 1952 | 28.801 | 8425333 | 779.445315 |
Afghanistan | Asia | 1957 | 30.332 | 9240934 | 820.85303 |
Afghanistan | Asia | 1962 | 31.997 | 10267083 | 853.10071 |
Afghanistan | Asia | 1967 | 34.02 | 11537966 | 836.197138 |
Afghanistan | Asia | 1972 | 36.088 | 13079460 | 739.981106 |
Afghanistan | Asia | 1977 | 38.438 | 14880372 | 786.11336 |
Afghanistan | Asia | 1982 | 39.854 | 12881816 | 978.011439 |
Afghanistan | Asia | 1987 | 40.822 | 13867957 | 852.39595 |
Afghanistan | Asia | 1992 | 41.674 | 16317921 | 649.34140 |
Afghanistan | Asia | 1997 | 41.763 | 22227415 | 635.34135 |
Tables are output
tableOutput("my_table")
output$my_table <- renderTable({
gapminder
})
Inputs can be used to filter
selectInput("country", "Country",
choices = levels(gapminder$country))
output$my_table <- renderTable({
subset(gapminder, country == input$country)
})
choices
argument of selectInput()
can be any list of strings
choices
can be subset of variableselectInput("country", "Country",
choices = levels(gapminder$country)[1:10])
choices
can be expanded to add new valuesselectInput("country", "Country",
choices = c("any", levels(gapminder$country)))
Case Studies: Building Web Applications with Shiny in R