• Sessions
    • 1. Quarto
    • 2. Plot
    • 3. Text
    • 4. Animate
    • 5. Map
    • 6. Scrap
    • 7. Apps
    • 8. Report
    • 9. Scaling
  • AI · LLMs
    • 1. Talking to machines
    • 2. Chat with your data
    • 3. Grounded in truth (ragnar)
    • 4. Agentic coding
    • Ask R4DEV 🤖 (live capstone)
  • Thinking
    • 1. Embrace the noise
    • 2. There is only one test
    • 3. All models are wrong
    • 4. Draw your assumptions
    • 5. Think Bayes
  • Tools
    • Practice
    • R-sources
    • Feedback
  • Wait, what did I get myself into?

Wait, what did I get myself into?

Data workshop

Author
Affiliation

Nelson Amaya D.

WBG | OECD | IOM | Jacobs Foundation

Published

July 31, 2022

Modified

July 8, 2026

💡 What is R4DEV?

I created the R for Development (R4DEV) workshop while working at the OECD to train my constantly rotating team. Word got around and eventually over 80 people joined R4DEV from across the organisation.

Here’s what the workshop is all about:

🦾 What you can expect to learn

TipClick here
  • Wrangling: Clean, transform and prepare data for analysis with dplyr, tidyr, stringr, lubridate, forcats, tibble

  • Visualization: Build static and interactive plots with ggplot2, plotly, ggiraph, tidygraph and learn to do animations using gganimate. Explore many ggplot2 extensions.

  • Text analysis: Transform characters, words, sentences, pages and books into data with tidytext, regex and ggwordcloud

  • Reporting: Write reports with prose and data at the same time Quarto and learn how to manage references with Zotero

  • ️ Mapping: visualize geospatial data with sf, and go interactive with leaflet and spectacular with rayshader

  • Data recovery: Import data from APIs and webpages with httr2, rvest, chromote, pdftools, readr

  • Publishing: Create apps and dashboard with shiny. Build entire websites with quarto

  • AI, programmatically: Call Large Language Models from R with ellmer, turn prose into tidy data with structured extraction, and build apps that chat with your data using shinychat, querychat and ggsql

  • Scale: Replace for-loops with purrr’s functional style, then parallelize that same code across cores (or a cluster) with a single wrapper function using mirai

💫 Apply it to your own project!

TipClick here

If you want, you can start your own project (a thesis, a blog, a paper, etc.) during the workshop.

The idea of this project is not to burden you with extra work, but to avoid that 6 months from now you’ll say “wait, that looks familiar but, of course, I didn’t use it for a while and now I can’t remember anything!”. All of these are practical and important tools for your work, and applying them to something you are already passionate about will let you keep all these lessons beyond your time working with us.

🔥 Extra content

TipClick here

If time allows, these are additional topics that we’ll cover with overly enthusiastic and committed students:

  • Iteration: You’ll learn to write better and shorter code with functional programming purrr

  • Models: Learn how to build reproducible and tractable models with tidymodels

  • Bayesian analysis: You need to unlearn a lot of what you were taught on statistics, but the Think Bayes session will start you off, and so will rethinking, bayesplot, brms and bayesrules

  • Causal inference: Why you must draw your assumptions before you compute –colliders, confounders and mediators, animated and interactive in the bonus track of session 4

Back to top

📉 R4DEV 📈

Licensed under
Creative Commons CC BY 4.0

Cookie Preferences

Created with and Quarto