I was privileged to have had the opportunity to present a talk on one of my favourite R packages, {purrr}, this past weekend at satRday Joburg 2020. Of all the R packages I have used, {purrr} has had the single most transformative impact on how I think about coding, how I write code, and the types of problems I am able to solve in R.

As the premier functional programming toolkit for R, {purrr} is probably the package that I have relied on the most for solving complex data problems in my career as a Data Scientist. Along with {data.table} and the {tidyverse} family of packages, {purrr} is a staple in my daily analytical toolkit and though I do not by any means consider myself an expert, I have used it extensively and am particularly passionate about the way in which it helps to make code both more powerful and more expressive.

While map() arguably enjoys most of the limelight, much of the magic of {purrr} is only really revealed once one starts exploring the package’s other functions. Collectively, these represent a paradigm-shifting powerhouse of awesomeness that can help transform the code you write and what it can accomplish. Unfortunately, terse official documentation, a lack of package vignettes, and the fairly limited number of “deep dive” tutorials and resources available online have contributed to a scenario where {purrr}s lesser-known functions remain just that: largely underutilised and underappreciated. In this talk, I use examples to illustrate how {purrr}s “other” functions can be used to solve a variety of data wrangling and analytical problems and aim to show that purrr offers one of the highest rates of return on investment for any R package.

You can check out the slides I used in the talk below, view them in fullscreen mode, or download the pdf version