Data visualisation, interactive data analysis, statistical programming

Garth Tarr


In recent years, the power of R has been unleashed through the Shiny package which enables users to interact with complex analyses without needing to know any R programming. A Shiny application is a web interface to an underlying R instance. It is remarkably easy to develop both simple and complex Shiny apps using R and importantly, it requires no special knowledge of HTML, CSS or JavaScript. This workshop outlines the basics of developing a Shiny app and showcases some more advanced examples. One of the advantages of moving to a web-based approach is that it enables richer interactivity in data visualisation. There is a large, and ever increasing, pool of R packages that allow researchers to go beyond static plots.

As part of this workshop we will introduce the htmlwidgets framework that joins the raw statistical power of R with beautiful visualisations powered by JavaScript. The networkD3 and edgebundleR packages will be highlighted as examples that enable interactive visualisations of networks. It can be a full time job keeping up with all the new features R has to offer statisticians and bioinformaticians – the aim of this workshop is to familiarise you with some of the latest and greatest tools available for data visualisation and interactive data analysis.


This workshop is relevant to all practising bioinformaticians who use R as part of their research and development pipeline. It will be particularly useful for people who are interested in better communicating their research through interactive graphics or enabling their analyses to be replicated within a user-friendly web interface.

Assumed knowledge

A working understanding of R will be assumed.


Computing requirements

install.packages(c("shiny", "shinydashboard", "shinythemes", "shinyBS",
               "ggplot2", "magrittr", "DT", "ggvis", "dplyr",
               "MASS", "rhandsontable", "pairsD3", "tidyr", "ICSNP",
               "networkD3", "d3heatmap", "edgebundleR", "readr", "mplot"))


  1. Slides
  2. Lecture Code
  3. Lab A: Play with shiny (easier)
  4. Lab B: Build a shiny app (harder)
  5. Markdown tips

Recommended further reading

Journal articles

Online tutorials


At the end of the workshop, please provide your feedback here.