Shiny — Building Data-Driven Apps

The Shiny package makes it easy to create interactive web applications using R.

In this workshop you will learn how to build Shiny applications from scratch. After the workshop you will:

  • understand the structure of a Shiny application (UI and server);
  • be able to assemble an attractive UI;
  • understand reactivity and how the UI and server communicate with each other; and
  • know how to deploy a Shiny application.

Contents

Day 1

  • What is Shiny?
    • Samples from App Gallery
  • Components of a Shiny app
    • Simple example
  • User Interface (UI)
    • Layouts
    • HTML formatting
    • Input controls
    • Panels and tabsets
  • Server
    • Rendering output: text, plots and tables
    • uiOutput() for dynamic UI elements
  • Reactivity
    • reactive()
    • isolate()
    • eventReactive()
    • reactiveValues()
  • Interactive Components
  • Debugging
  • Enhancements
    • CSS
    • Shiny themes
    • HTML widgets
    • Javascript

Day 2

Setup

install.packages(c("shiny", "rmarkdown", "DT", "devtools", "flexdashboard",
                   "gapminder", "rticles", "shinydashboard", "shinythemes", 
                   "tidyverse", "tufte", "xaringan"),
                 repos = "http://cran.rstudio.com")

Prior Knowledge

We assume that participants have prior experience with R, ideally having completed both the the Introduction to R and Data Wrangling courses.

Book now!

Training Philosophy

Our training emphasises practical skills. So, although you'll be learning concepts and theory, you'll see how everything is applied in the real world. We will work through examples and exercises based on real datasets.

Requirements

All you'll need is a computer with a browser and a decent internet connection. We'll be using an online development environment. This means that you can focus on learning and not on solving technical problems.

Of course, we are happy to help you get your local environment set up too! You can start by following these instructions.

Package

The training package includes access to
  • our online development environment and
  • detailed course material (slides and scripts).

Return to our list of courses.