Introduction to Shiny

Introduction to Shiny

Course Level: Intermediate

Do you want to provide interactive visualisation and data exploration features for users who do not have R and data science skills? Discover how easy it can be to use R and {shiny} to create your own apps and dashboards for exploring data without relying on web development or external BI tools. We will show you various examples of input widgets and outputs to display tables and visualisations.

Book: Introduction to Shiny

Start Date:
Venue Details:

Course Details

  • Course Outline
  • Learning Outcomes
  • Materials
  • Prior Knowledge

Course Outline

  • Introduction to Shiny
  • Benefits of using Shiny
  • Building your first Shiny app
  • Components of a Shiny app
  • Inputs and outputs
  • Reactive programming
  • Customising the UI with HTML and themes
  • Alternative page layouts and {shinydashboard}

Learning Outcomes

Session 1:

By the end of session 1, participants will…

  • understand the benefits of using Shiny.
  • be able to create a Shiny app.
  • understand the construction of a Shiny app from ui.R, server.R and app.R files.
  • have experience running Shiny apps.
  • understand the inputs and outputs of the user interface elements using the render() functions.
  • be able to apply the different render methods such as renderText(), renderPlot(), renderTable() and more.

Session 2:

By the end of session 2, participants will…

  • have a basic understanding of reactivity and how it is used in Shiny.
  • evaluate which input widgets are most appropriate to use in different scenarios.
  • create reactive expressions using the reactive() function.
  • render tables and plots using HTML widgets.
  • be able to add HTML elements to the user interface and customise the page layout.
  • have an understanding of the {shinydashboard} package.
  • develop a Shiny app.

This course does not include:

  • Interactive charts with {plotly}.
  • Interactive embedded maps and spatial visualisation with {leaflet}.
  • Validating user-inputted values.
  • Action buttons and event bindings for reactive() and observe() events.
  • Using Shiny modules.
  • Creating tests for your Shiny app.


  • Page 1 of example course material for Introduction to Shiny
  • Page 2 of example course material for Introduction to Shiny
  • Page 3 of example course material for Introduction to Shiny
  • Page 4 of example course material for Introduction to Shiny

Prior Knowledge

Participants should be comfortable using R and basic graphics with {ggplot2}

Attendee Feedback