Our teaching approach

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

  • 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 contact@appliedepi.org.


Our Intro to R course has already empowered over 400 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 contact@appliedepi.org to book a private cohort.

Introductory R course

Introduction to R for Applied Epidemiology

See our PDF course brochure for full curriculum details.

  • Duration: 40 hours (10 half-day synchronous modules)
  • Languages: English, French, Spanish. Email contact@appliedepi.org to discuss other languages.
  • 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
  • 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

Advanced R Markdown

This course teaches how to produce advanced automated reports, presentations, and simple dashboards in R.

  • Advanced R Markdown formatting, use of agency templates, and dynamic data display
  • Efficient use of iteration, looping, and parameters to create multiple reports and dynamic report sections
  • Create dashboards with {flexdashboard} and R Markdown

Introduction to GIS in R

This course teaches 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 visualizations 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 implementing iteration with loops or the purrr package.

  • 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
  • The use of templates to efficiently produce surveillance-oriented Shiny apps

Methods courses

We are developing applied methods courses for future delivery. If this is something your organisation is interested in, please contact us at contact@appliedepi.org.