Creating web applications with Shiny

Date:

June 29 to July 3. AFTERNOON: 15 to 18h.

Instructor

Isaac Subirana Cachinero

Isaac Subirana holds a Master’s degree in Statistical Sciences and Techniques from the Polytechnic University of Catalonia (UPC) and a PhD in Statistics from the University of Barcelona (UB). Since 2007, he is an associate professor in the Department of Statistics at the Faculty of Biology of the UB. Since 2003, he is working as a Biostatistician in the field of Cardiovascular Epidemiology in REGICOR group (https://regicor.cat/) at the Barcelona Biomedical Research Park (PRBB). In recent years, he has taught several Shiny courses and implemented Shiny-based tools for epidemiological data exploration (https://www.datarus.eu/aplicaciones, https://regicor.cat/aplicacions). He is also the creator and maintainer of the compareGroups R library (https://isubirana.github.io/compareGroups/) and has developed a Shiny app based on it (https://www.datarus.eu/en/applications/comparegroups/).

Language

English, castellano

Description

Shiny (https://shiny.posit.co/) is an R (http://www.r-project.org/) package developed by the RStudio team (https://posit.co/) that allows you to create dynamic web pages without any knowledge of HTML, JavaScript, or PHP. Thanks to Shiny, you can quickly and easily build and customize graphical user interfaces on web pages using just a few lines of code. This makes functions written in R accessible to users unfamiliar with this language who want to use them interactively. There is a huge number of apps created using Shiny tools covering different areas from epidemiology (cardiovascular risk calculatorCOVID-19 cases tracker maps), statistics (sample size determination , descriptive tables ) to academic use , or  sports [ etc. Basic concepts for creating web applications with Shiny will be introduced, as well as more advanced techniques to improve both the appearance and functionality of the applications.

Course goals

To create and develop web-based graphical interfaces programmed in R code using Shiny package functions.

Course contents

  1. Introduction to Shiny and first examples. How to create and deploy your app with RStudio and Shiny server (shinyapps.io).
  2. App elements layout: panels, buttons, dropdowns, etc.
  3. How Shiny works.
  4. Techniques and tools to improve app appearance and its functionality.
  5. Advanced features: updating elements, hiding and showing parts of the app, etc.
  6. Creating interactive documents: combining Markdown and Shiny. 

Key topics that will be explained in more detail: passwords, maps (leaflet), interactive tables (DT) and plots (plotly) and advanced dashboards (shinydashboard).

Prerequisites

Familiarity with the R statistical software.

Targeted at

Students, academics, researchers, etc. familiar with the R but with little or no knowledge of web languages, such as HTML or Javascript, who want to create web-based interactive applications.

Evaluation

The student must submit a Shiny application at the end of the course.

Teaching Methodology and Activities

The course will be based on examples that will be executed and discussed during the classes. More technical aspects will be skipped since they are beyond the scope of this course.

Software requirements

Mandatory

Optional

  • Shiny related R packages: shinyjs, shinyBS, shinydashboard, shinythemes, shinyWidgets, shinyjqui, shinycssloaders, shinyFeedback, rsconnect.