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
![](RStudio.png)
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: 3 hours (can be combined with Introduction to Statistics in R for a 6 hour workshop)
Writing Better R Code
![](RStudio.png)
Learning outcomes:
- Understand how write to better code that is well-structured and easier to read.
- Be able to organise multiple R scripts in a project.
- Know how to manage dependencies on different R packages.
Pre-requisites:
- Basic knowledge of R.
Time: 3 hours
Building R packages
![](package.png)
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
Introduction to Shiny
![](shiny.png)
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
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
![](quarto.png)
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
![](quarto.png)
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
![](quarto.png)
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
![](quarto.png)
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 Statistics in R
![](RStudio.png)
Learning outcomes:
- Calculate summary statistics and perform simple statistical tests.
- Fit and interpret a linear regression model.
- Fit and interpret a logistic regression model.
Pre-requisites:
- Basic knowledge of R.
Time: 3 hours (can be combined with Introduction to R for a 6 hour workshop)
Introduction to machine learning with {tidymodels}
![](tidymodels.png)
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
![](ts.png)
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
![](dataviz.png)
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