Skip to content
🎓🌀 A Swirl course for learning the tidyverse from within R
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A {swirl} course to learn about R's tidyverse packages.

Under development -- feel free to contribute.



The {swirl} package contains an interactive teaching tool for learning R from within R itself -- you're prompted with questions and answer directly into the console.

New courses can be downloaded from the Swirl Course Network. Anyone can create and share a course and the {swirlify} package makes this much easier. I wrote a blogpost about using Swirlify to make Tidyswirl.


This repository contains a Swirl course where each lesson is about one the major packages of the tidyverse. The goal is to promote personal and active learning of the tidyverse suite, which continues to grow in popularity in the R community.

Note that this course teaches on a package-by-package basis, even though you would use functions from multiple packages in a typical tidyverse workflow. This is recorded in an issue.

Use Tidyswirl


The course is aimed at people with some knowledge of R, but not necessarily great knowledge of the tidyverse. I recommend the first nine lessons of the Swirl course 'R Programming: The basics of programming in R', which covers topics from basic buildings blocks of R through to functions.


This course should cover the main tidyverse packages:

  1. readr (todo)
  2. tibble (underway)
  3. tidyr (underway)
  4. dplyr (todo)
  5. ggplot2 (todo)
  6. purrr (todo)
  7. stringr (todo)
  8. forcats (todo)

Please feel free to contribute to the development of these courses.


The full instructions for Swirl are on their website. To get going with Tidyswirl:

install.packages("swirl")  # install Swirl
library(swirl)  # load Swirl
install_course_github("matt-dray", "tidyswirl")  # install course
swirl()  # start Swirl

Swirl will introduce itself and ask which of the installed courses you'd like to use. Select tidyswirl and then a specific lesson.

You can uninstall the course with uninstall_course("tidyswirl").


Swirl packages


You can’t perform that action at this time.