Shiny is an R package which enables users to turn an R analysis into an interactive web application. Shiny is simple to get started with for an R programmer, because it requires no knowledge of web technologies such as HTML, CSS, or Javascript. However, Shiny is also immensely powerful. It uses a reactive programming design so that results are automatically updated when only when their dependencies change.
In this training workshop, we will introduce and motivate why Shiny should be used. We will then discuss the structure and syntax of a Shiny app, and begin exploring the different inputs and outputs available to us when constructing them. Following this, we will cover reactive programming and user interface design and apply it to our Shiny apps. We will wrap up with some information on debugging and addon packages, before launching to a Shiny workshop in which we will help people construct their own Shiny app from scratch.
Dr. Eric Hare, Chief Data Scientist, Omni Analytics Group
Dr. Lawrence Mosley, CEO, Omni Analytics Group
The slides are posted below. They are dynamically rendered RMarkdown documents with embedded Shiny applications, which means they can take some time to load. If you are having any difficulty, a static version of the slides (in standard HTML format) are available here.
Time | Slides | Code |
---|---|---|
09:00 - 09:15 | Requirements / Setup | requirements.R |
09:15 - 10:15 | What is Shiny? | challenge1_solution.R |
10:15 - 10:45 | Structure of a Shiny App | helloshiny.R |
10:45 - 11:00 | Break | |
11:00 - 12:00 | Inputs and Outputs | app_with_slider.R app_with_numeric.R app_with_text.R app_with_select.R app_with_checkbox.R app_with_plot.R app_with_table.R app_with_datatable.R app_with_outputtext.R challenge2_solution.R challenge3_solution.R |
12:00 - 13:00 | Lunch | |
13:00 - 14:00 | Reactive Programming | reactive.R observe.R challenge4_solution.R |
14:00 - 14:30 | User Interface Design | app_with_tabs.R app_with_navbar.R app_with_conditional.R challenge5_solution.R |
14:30 - 14:45 | Break | |
14:45 - 15:15 | Debugging and Deploying | debugging.R |
15:15 - 15:30 | Useful Extras | |
15:30 - 16:45 | Building Workshop | |
16:45 - 17:00 | Wrap-Up and Questions |
Comments are closed.