Introduction to Shiny

Introduction to Shiny

Course Level: Intermediate (6 hours)

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.

Download course details

Book: Introduction to Shiny

Start Date:
Venue Details:

No Events Currently Scheduled

Sorry, there are no upcoming events for this course, but please get in touch if you would like to be kept informed when events are scheduled in the future.

Course Details


  • 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 {bslib}

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 {bslib} 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.

Prior knowledge

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

Materials Preview

Attendee Feedback

  • “Amazing introductory course. I really enjoyed having the opportunity to build my own apps, alongside learning the new material. I will definitely recommend to my colleagues”
  • “I liked the overview of customising Shiny apps with themes”
  • “Very interesting course and plenty of resources to look into”
  • “Highly knowledgeable trainers”
  • “Flowed well, easy to follow, and clear instructions”