Materials for the GESIS workshop “Interactive Data Analysis with Shiny”, July 23-26, 2024
For the Quarto document of the workshop, click here.
Lecturers: - Paul C. Bauer - Jonas Lieth
The workshop Interactive Data Analysis with Shiny introduces participants to the basics of creating interactive apps with Shiny in R. Interactive data applications are becoming increasingly popular in academia, media, and companies to visualize, manage, and analyze data. Shiny is a tool for creating such (web) applications using R code. It allows you to create interactive data apps with no knowledge of HTML, CSS, or JavaScript. The utilization of interactive applications expands the forms of use of existing data sets and enables users to freely explore the data. The course offers an introduction to reactive programming and the R Shiny package, outlines a workflow for project management, discusses ways of offline and online hosting of Shiny apps, and gives you the opportunity to start your own interactive data analysis project.
The best way to learn R’s versatile capabilities is to try things out and apply the presented concepts. Therefore, we will have a mixture of lectures and hands-on exercises. More specifically, each topic will be introduced in a lecture by the instructors. Participants will then receive a set of exercises on each topic. The solutions of the exercises will be discussed before the start of the next lecture part.
Participants will find the course useful if:
- they want to use R to build interactive web applications to analyze and visualize their data.
By the end of the course participants will:
-
understand the basics of reactive programming for interactive data analysis and visualization
-
know what the structure of a Shiny application looks like
-
be comfortable to use R Shiny to build their own interactive applications
-
have learned about ways to launch and disseminate their Shiny app
-
will have built their first own Shiny app
Good working knowledge in R as a programming language including familiarity in the following domains: tidyverse, data type handling, data wrangling, data import, data management, modeling (e.g., linear regression), and data visualization.
Course participants will need a computer or laptop with R (https://cran.r-project.org/), RStudio, (https://www.rstudio.com/), and the R Shiny package (https://shiny.rstudio.com) installed. The programs and the package are free and open source.
Tuesday, 23.07 | |
10:00-11:00 | Welcome and introduction |
11:00-11:15 | Coffee break |
11:15-12:00 | Your (first) Shiny app |
12:00-13:00 | Lunch break |
13:00-14:15 | The front end: Designing the user interface |
14:15-14:30 | Coffee break |
14:30-16:00 | Tutorials for the UI |
Wednesday, 24.07. | |
10:00-11:00 | Introduction to reactive programming |
11:00-11:15 | Coffee break |
11:15-12:00 | Tutorials for reactive programming |
12:00-13:00 | Lunch break |
13:00-14:15 | Advanced reactive programming |
14:15-14:30 | Coffee break |
14:30-16:00 | Tutorials for reactive programming |
Thursday, 25.07 | |
10:00-11:00 | Visualization with ggplot2 and Shiny |
11:00-11:15 | Coffee break |
11:15-12:00 | Tutorials for visualization |
12:00-13:00 | Lunch break |
13:00-14:15 | Testing and deployment |
14:15-14:30 | Coffee break |
14:30-16:00 | Tutorials for deployment |
Friday, 26.07. | |
10:00-11:00 | Good practices when building your own app |
11:00-11:15 | Coffee break |
11:15-12:00 | Build your own app: Design and UI |
12:00-13:00 | Lunch break |
13:00-14:15 | Build your own app: Construct the reactive graph |
14:15-14:30 | Coffee break |
14:30-15:30 | Build your own app: Strengthen & deploy |
15:30-16:00 | Exhibit: Show off your new Shiny app |
The course does not require any prior reading.
However, our schedule is primarily based on one textbook which we generally recommend for further reading:
Wickham, Hadley (2020): Mastering Shiny: Build Interactive Apps, Reports, and Dashboards Powered by R. Accessible online at: https://mastering-shiny.org/.
Additional recommended literature: Fay, Colin, Rochette, Sébastien, Guyader, Vincent, and Girard, Cervan (2022): Engineering Production-Grade Shiny Apps. Accessible online at: https://engineering-shiny.org/.
Granjon, David (2022). Outstanding User Interfaces With Shiny. Accessible online at: https://unleash-shiny.rinterface.com