Building Data Apps with R and Shiny: Essential Training
2h 50mIntermediate2019-07-23
Authors

Charlie Joey Hadley
Technology and open data evangelist
Course details
Shiny allows R data science teams to build interactive data-driven web apps without needing to learn HTML, CSS, or JavaScript. It is a powerful and versatile tool that is often used for R&D, data analysis, and even external marketing purposes. If you have a good understanding of the R language and know how to separate client-side code from server-side, you are ready to dive into this course and build a Shiny app. Charlie Hadley covers organizing single and split-file apps, managing data tables, using APIs to get data into an app, adding data controls, deploying an app, and more.
Learning objectives
Building a Shiny data app
Single vs. split-file apps
Static tables vs. interactive tables
renderTable and kableExtra and DT tables
Connecting to an API
Populating pull-down menus from data
Using interdependent filter controls
Collecting data using rhandsontable
Printing to the R console in Shiny apps
Debugging Shiny apps
shinyjs::runcodeUI, reactlog
Deploying apps
Learning objectives
Building a Shiny data app
Single vs. split-file apps
Static tables vs. interactive tables
renderTable and kableExtra and DT tables
Connecting to an API
Populating pull-down menus from data
Using interdependent filter controls
Collecting data using rhandsontable
Printing to the R console in Shiny apps
Debugging Shiny apps
shinyjs::runcodeUI, reactlog
Deploying apps
Skills covered
RStudioRStatisticsWeb Development ToolsEssential TrainingWeb DevelopmentProgramming LanguagesData ScienceOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Build, test, and deploy apps easily in Shiny
- 02 - Course organization and prerequisites
1. Introducing Shiny
- 03 - What is Shiny
- 04 - What are data apps
- 05 - Why build data apps with Shiny
- 06 - Run Shiny apps on your own machine
- 07 - Quit Shiny apps on your local machine
- 08 - Deploying apps to shinyapps.io
- 09 - Deploying apps with Shiny Server
2. Single and Split-File Shiny Apps
- 10 - Single file apps with shinyApp
- 11 - Split-file apps
- 12 - What belongs in the ui.R file
- 13 - What belongs in the server.R file
3. Shiny Apps 101
- 14 - Creating a simple Shiny app from scratch
- 15 - Understanding input$var and output$plot
- 16 - Render and output functions
- 17 - Using the session argument
- 18 - Never duplicate inputs or outputs
4. Data Tables in Shiny
- 19 - Choose a table solution
- 20 - Static tables with renderTable
- 21 - Static tables with kableExtra
- 22 - Interactive tables with DT
5. Getting Data into Your Shiny Apps
- 23 - Shiny apps and data 101
- 24 - Include data files in a Shiny app
- 25 - Shiny and packages that connect to API
- 26 - Shiny and .httr-oauth files
- 27 - Shiny and R environmental variables
6. Data-Driven Controls
- 28 - Populate pull-down menus from data
- 29 - Labeling choices in selectInput
- 30 - Interdependent controls to filter data
- 31 - Control app updates with actionButton
7. Allow Users to Upload and Download Data
- 32 - Allow users to download data from an app
- 33 - Download data from DT tables
- 34 - Allow users to upload data to an app
- 35 - Use rhandsontable to collect data
8. Problem-Solving in Shiny Apps
- 36 - Problem-solving in Shiny apps 101
- 37 - Printing to the R console in Shiny apps
- 38 - Debug apps with shinyjs - - runcodeUI
- 39 - Using reactlog to debug Shiny apps
9. Making Shiny Apps Beautiful
- 40 - Applying custom CSS to Shiny apps
- 41 - Inserting images into Shiny apps
- 42 - Show loading spinners in Shiny apps
10. Deploying Shiny Apps
- 43 - Where can you deploy Shiny apps
- 44 - Connecting RStudio with shinyapps.io
- 45 - Managing Shiny apps with rsconnect
- 46 - Programmatically deploying apps
Conclusion
- 47 - Next steps