Training and Workshops

These workshops can be delivered in-person or remotely, and will be tailored to your existing skillset and area of application. They can be delivered to individuals or small groups (up to 14 people).

R

R is a programming language that can be used for many things, commonly for statistical modelling and data visualisation.

Introduction to R

Learning outcomes:

  • Understand the difference between R and RStudio, and how RStudio works.
  • Be able to complete simple operations in R such as saving objects, performing calculations, and reading in data.
  • Calculate summary statistics, and make simple plots of data.

Pre-requisites:

  • None.

Time: 1-3 hours (depending on your existing experience).

Introduction to Shiny

Learning outcomes:

  • Understand the different components of a Shiny app - UI and server.
  • Be able to build a simple Shiny app with user inputs and dynamic outputs.
  • Understand options for deployment - to get your Shiny app out into the world!

Pre-requisites:

  • Basic knowledge of R.

Time: 2 hours.

Building R packages

Learning outcomes:

  • Understand what an R package consists of, and how to create the basic framework for a package.
  • Add documentation to the functions in your R packages.
  • Be able to build and run unit tests for the functions in your package.

Pre-requisites:

  • Comfortable using R and able to write your own (simple) functions.

Time: 3 hours.

Quarto

Quarto is an open-source scientific and technical publishing system that allows you to combine text, images, code, plots, and tables in a fully-reproducible document. Quarto has support for multiple languages including R, Python, Julia, and Observable JS. It also works for a range of output formats such as PDFs, HTML documents, websites, and presentations.

Introduction to Quarto

Learning outcomes:

  • Understand what Quarto is and why it is useful for reproducible reporting.
  • Be able to create simple HTML documents, PDFs, and revealjs presentations, with embedded code.
  • Be able to set different options for: code execution, figure options, animation, and more!

Pre-requisites:

  • Basic knowledge of R, Python, Julia, or ObservableJS.

Time: 2 hours.

Quarto for research

Learning outcomes:

  • Understand what Quarto is and why it is useful for research.
  • Be able to create simple Quarto documents in PDF and HTML.
  • Create a (APA) style manuscript.
  • Be able to integrate referencing, LaTeX equations, and other elements that are useful for academic publishing.

Pre-requisites:

  • Able to run simple commands in either R or Python.

Time: 2 hours (can be combined with Quarto for teaching for a 4 hour workshop)

Quarto for teaching

Learning outcomes:

  • Be able to make revealjs slides for talks and lectures.
  • Add interactive code blocks with webR or pyodide for teaching programming.
  • Create a parameterised tutorial worksheet with features for showing and hiding solutions.
  • Automate the production of tutorials for students.

Pre-requisites:

  • Able to run simple commands in either R or Python.
  • (Ideally) able to create simple Quarto documents.

Time: 2 hours (can be combined with Quarto for research for a 4 hour workshop)

Styling documents using Quarto extensions

Learning outcomes:

  • Know how to customise Quarto HTML outputs (including documents and revealjs slides) using CSS and PDF documents using LaTeX.
  • Understand what Quarto extensions are, how to install them, and use them for styling documents.
  • Know what the components of Quarto extensions are and be able to create a simple style extension to make your documents look more professional and recognisable.

Pre-requisites:

  • (Ideally) able to create simple Quarto documents.
  • No prior knowledge of CSS or LaTeX required.

Time: 2 hours.

Statistics and Modelling

Introduction to machine learning with {tidymodels}

Learning outcomes:

  • Be able to use some common machine learning techniques such as Lasso regression, random forests and support vector machines.
  • Fit these models in R using {tidymodels}.
  • Understand common concepts of machine learning such as cross-validation, hyperparameter tuning and model evaluation.

Pre-requisites:

  • Familiarity with some statistical concepts such as correlation, variability, and simple linear regression.
  • Being reasonably comfortable with data wrangling using {dplyr} and {tidyr}.

Time: 2 hours.

Introduction to GAMs in R

Learning outcomes:

  • Know what generalised additive models (GAMs) are.
  • Understand why and when GAMs might be appropriate for certain types of data.
  • Be able to fit and evaluate GAMs using the {mgcv} package in R.
  • Understand how to interpret the output from fitted models.

Pre-requisites:

  • Basic knowledge of R.
  • Familiarity with some statistical concepts such as correlation, variability, and simple linear regression.

Time: 2 hours.

Data Visualisation

Data visualisation is essential for exploratory analysis, and for effectively communicating results.

More effective data visualisation

Learning outcomes:

  • Understand why data visualisation is necessary, and what it can be used for.
  • Describe and apply principles of good data visualisation.
  • Discuss the limitations of principles.

Pre-requisites:

  • None.

Time: 1 hour.