Our teaching approach

Developed by experienced epidemiologists and public health practitioners, our courses emphasise:

  • Engaging and effective delivery: We teach with clear explanations, relevant examples, and hands-on exercises to build your confidence and skills in R.
  • Individualised attention: With small class sizes (15–25 participants), we ensure one instructor for every six students, one-to-one support during exercises, and even offer supplementary tutoring calls for extra help with R setup and learning.
  • Accessible learning: We prioritise remote online delivery for convenience and effectiveness, but if you prefer an in-person experience, just email us at [email protected].


Our courses have empowered 3,500 staff at over 500 public health organisations worldwide, earning an average rating of 4.7 out of 5 stars. Participants frequently tell us, “This is the best R training I’ve ever had!” See more feedback and testimonials here.

Our courses

See our PDF course brochure. Select from our upcoming public courses, or email [email protected] to book a private cohort.

Introductory R course

Introduction to R for Applied Epidemiology

See our PDF course brochure for full curriculum details.

  • Duration: 35 hours (10 half-day synchronous modules)
  • Activities: Live lecture and coding demos, exercises using simulated data, in-lessons support with 1-on-1 meetings
  • Post-course support: R Code Review calls
  • Languages: English, French, Spanish. Email [email protected] to discuss other languages.
  • Data used: Case linelists, lab, & hospital data
  • Eligibility: Comfort using MS Excel and exposure to software like SPSS or EpiInfo; coding experience helpful but not required
  • Cost: $995 per seat in a public cohort; $1,250 per seat in a private cohort

Advanced R courses

Applied Epi has the below advanced courses that share the following key features:

  • Duration: 7 hours (two half-day synchronous modules)
  • Languages: English
  • Activities: Live lecture and coding demos, exercises using simulated data, in-lessons support with 1-on-1 meetings
  • Eligibility: R skills at least equivalent to our intro course
  • Cost: $450 per seat

Automated reporting with Quarto in R

This course teaches participants how to customise and optimise automated reporting workflows in R using Quarto, for both Microsoft Word and PowerPoint outputs.

  • Apply custom formatting, headers, and logos using templates, so outputs reflect organisational branding
  • Design flexible layouts using text boxes and multi-column structures
  • Modularise R scripts to improve efficiency, readability, and scalability of automated workflows
  • Use parameters and loops to generate multiple reports with dynamic content

Introduction to GIS in R

This course teaches participants how to create descriptive maps and perform spatial analyses incorporating GIS principles and real-world data.

  • Review GIS principles, coordinate systems, projections, and shapefiles
  • Import and clean spatial data
  • Create base maps and plot points, polygons, choropleth, and interpolated density “heat” maps
  • Adjust scales and colors, and add population denominators
  • Add labels, projections, north arrows, scale bars, legends, basemaps, and inset maps
  • Spatial joins and basic spatial analyses including nearest neighbor and buffer analysis
  • Create and embed interactive maps in HTML reports
  • Packages taught include tidyverse (including ggplot2), sf, leaflet, ggspatial, maptiles, and terra, among others

Introduction to statistics in R

This course teaches participants to translate their statistical knowledge into reproducible R code for conducting descriptive analysis, simple statistical tests, and regression.

  • Equips participants with the ability and confidence for reproducible statistical analysis and presentation in R
  • Descriptive analysis and simple statistical tests (t-test, chi-squared, etc.)
  • Univariate, stratified, and multivariable regression
  • Incorporation of interaction terms and random effects
  • Approaches to variable selection including Lasso
  • Combining tables and plotting results
  • Packages taught include tidyverse, gtsummary, lme4, caret, glmnet, and survival

Time series analysis and outbreak detection in R

This course offers practical training for epidemiologists and disease surveillance professionals in using R for time series analysis, aiding in the analysis of temporal patterns for informed decision-making and outbreak detection.

  • How to prepare time series data for analysis and implement quality checks, including handling missing values and ensuring data consistency
  • Explore patterns and trends using visualisations and summary statistics
  • Understand best practices for time series analysis in epidemiology, including available modeling approaches, model evaluation, and interpretation of results
  • Real-world complications such as registration delays, day-of-the-week effects, and redistricting
  • Exposure to interrupted time series and imputation of missing data

Shiny in R

This course teaches the creation of basic shiny applications with a focus on public health data and use cases. Participants are expected to have experience creating simple functions and working with tidyverse, such as ggplot2, dplyr, etc. Any experience with HTML and CSS will be an asset but not required.

  • Overview of Shiny and its applications in epidemiology
  • The structure of a Shiny application including reactivity, functions, and modules
  • Creating dynamic UI components such as sliders, dropdown menus, and checkboxes
  • Incorporating interactive plots, tables, and maps

Methods courses

We are developing applied methods courses for future delivery. If this is something your organisation is interested in, please contact us at [email protected].