Finding youR way

R is not software.
It's a scripting language, a vast collection of tools and a vibrant user community.

You can't master R
But you can become fluent in using it.







On-demand Learning

We partner with LinkedIn Learning to create on-demand training course to get you from zero to 💯 with R. You can buy our courses a-la-carte or get access to all 3000+ courses with a subscription.

In-person Training

We run monthly in-person courses across the UK and Europe; dedicated to dataviz, data science and dashboards with R and Shiny. Get in touch to organise a custom course for your team.

In-depth Articles

Open Data and Reproducibility are ever growing concerns in academia and industry. We have years of expertise in advising on best practices and workflows.



New features are added to point-and-click software as buttons or wizards, and old features are taken away by removing buttons.

But in code, things are more complicated.

  • Developers might choose to modify how an existing function works.
  • Developers might replace an old function with a new one, e.g. replacing spread() with the more generic pivot_wide()
  • Developers might abandon an entire package for a myriad of different reasons.1
  • Underling API may change without warning, making a package unusable until the developers release an update.
  • While often several packages solving the same problem will coexist and even be used together, sometimes new packages essentially replaces older alternative.
Data wrangling epochs in the R ecosystem

These are some of the ways that you'll encounter deprecation when writing code in R. One of the biggest hurdles to becoming fluent in R is gaining the confidence to decide which packages to use and how to handle these different types of deprecation.

R Deprecation 101 article COMING SOON!