Sign in

David Keyes

@dgkeyes.com
1.2K followers 1K following 204 posts

I teach people to use R @rfortherestofus.com

PostsRepliesMedia
David Keyes @dgkeyes.com · 03/09/2026
Recently made a tool to help me receive spreadsheets in the right format (see datareceipt.io). I'm not sure how useful this is for others. Thoughts?
010
David Keyes @dgkeyes.com · 03/06/2026
I'm starting a new email, every other Thursday called Field Notes on AI. I'll share my thoughts on using LLMs for data work. First issue goes out tomorrow. Sign up → rfor.us/email
Field Notes on AI featured image
042
David Keyes @dgkeyes.com · 21/05/2026
👀
000
David Keyes @dgkeyes.com · 18/05/2026
What used to take 30 minutes can now be done in 30 seconds. R is changing. Announcing something new on Wednesday.
020
David Keyes @dgkeyes.com · 12/02/2026
Case in point: Currently building this in Laravel (a PHP framework I'm only sort of familiar with).
110
David Keyes @dgkeyes.com · 16/01/2026
One of these reports was made in InDesign. The other was made in Quarto + Typst. Can you tell which is which?
130
David Keyes @dgkeyes.com · 01/12/2025
Ever since we started making documents in Quarto and Typst, I've wanted to make EVERYTHING in Quarto and Typst. Curious to learn how make documents like these? Boy, do I have the blog post for you! #rstats rfortherestofus.com/2025/11/quar...
05212
David Keyes @dgkeyes.com · 07/11/2025
AI note takers do many things well. Irony is not one of them.
Screenshot of notes saying: Trump administration increased enforcement of accessibility laws
130
David Keyes @dgkeyes.com · 06/11/2025
Do I even want to know why @hadley.nz?
Screenshot of genzplyr package
3181
David Keyes @dgkeyes.com · 27/10/2025
I'm writing a blog post on making high-quality reports with Quarto and Typst like the ones we recently made for the Johns Hopkins University International Vaccine Access Center. Anything in particular you want to know about how we make reports like these? #rstats
Screenshot of reports showing status of childhood immunization in Colorado
6597
David Keyes @dgkeyes.com · 16/09/2025
Are you attending posit::conf this week in Atlanta! 👋 If you spot me, come say hi. I’ve got R for the Rest of Us and Clarity Data Studio swag to share. #rstats
1101
David Keyes @dgkeyes.com · 10/09/2025
So smooth (if you get that joke, you are an #rstats nerd).
060
David Keyes @dgkeyes.com · 29/08/2025
Of course @kylewalker.bsky.social already had a solution that I missed! walker-data.com/census-r/cen...
Screenshot from Kyle Walker's book with text: 

Over the years I have been developing tigris, I have gotten multiple inquires akin to “why does this area look so strange when I download it?” Michigan, with its extensive shoreline along the Great Lakes, commonly comes up. The TIGER/Line shapefiles include water area for geographic features, connecting the Upper Peninsula of Michigan with the southern part of the state and giving an unfamiliar representation of Michigan’s land area. Using the cartographic boundary alternative resolves this. Let’s use patchwork to compare the TIGER/Line and cartographic boundary shapefiles for counties in Michigan as an illustration.
152
David Keyes @dgkeyes.com · 29/08/2025
Does anyone know why shapefiles for Michigan often end up looking oversimplified like this? #rstats code in the alt text.
An oversimplified map of Michigan made with ggplot. Code:

library(tigris)
library(tidyverse)
library(janitor)

options(tigris_use_cache = TRUE)

michigan <-
  states(cb = FALSE) |>
  clean_names() |>
  filter(name == "Michigan")

michigan |>
  ggplot() +
  geom_sf()
251
David Keyes @dgkeyes.com · 22/07/2025
🎉 Big news! After 5+ years of consulting work under the R for the Rest of Us name, I'm launching Clarity Data Studio. The name confusion was real – people thought we only did courses, not knowing about our consulting work building reports, websites, and more.
3339
David Keyes @dgkeyes.com · 20/06/2025
Cascadia R Conf is tomorrow! I'll be giving the keynote: Twenty-Five Things You Didn't Know You Could Do with R. #rstats You can still register for the virtual conference: cascadiarconf.com
04611
David Keyes @dgkeyes.com · 15/04/2025
These are just some of the resources I share in the Learn More sections of lessons in the fully revamped Mapping with R course. It's coming out next Tuesday! Sign up to be notified: rfortherestofus.com/email
Screenshot of learn more section from a lesson in the R for the Rest of Us course Mapping with R
140
David Keyes @dgkeyes.com · 09/04/2025
Join me and many others in the #rstats community this June at Cascadia R Conf!
241
David Keyes @dgkeyes.com · 13/03/2025
Kicking off the 9th (!) cohort of R in 3 Months today with participants from around the world!
Map showing R in 3 Months participants
030
David Keyes @dgkeyes.com · 26/02/2025
R in 3 Months info session tomorrow! We're chatting: - What is R? - What can it do? - How can R in 3 Months help you learn R Join us! rfortherestofus.com/3months
030
David Keyes @dgkeyes.com · 27/01/2025
Using AI with R is out tomorrow and it's 100% free! #rstats If you're on the R for the Rest of Us email list you'll get all the details. If not, sign up at rfortherestofus.com/email
Screenshot of course page for Using AI with
051
David Keyes @dgkeyes.com · 10/01/2025
What it's like making a course on AI in 2025.
260
David Keyes @dgkeyes.com · 30/12/2024
It's been quite a year for R for the Rest of Us! ✔︎ 1 book ✔︎ 36 blog posts ✔︎ 46 YouTube videos ✔︎ 10 podcast episodes ✔︎ 1,339 people signed up for courses ✔︎ 113 R in 3 Months participants ✔︎ $2,000+ donated rfor.us/2024yearinreview
080
David Keyes @dgkeyes.com · 20/12/2024
Putting together a year in review for @rfortherestofus.com. Check out all of the people who have signed up for courses in 2024!
Map of people who have signed up for R for the Rest of Us courses in 2024
060
David Keyes @dgkeyes.com · 18/12/2024
Recently had the opportunity to chat with Jon Schwabish on the PolicyViz podcast about my book, R for the Rest of Us: A Statistics-Free Introduction. Episode is out today! #rstats policyviz.com/podcast/unlocking-dat…
020
David Keyes @dgkeyes.com · 12/12/2024
#rstats in today's New York Times crossword.
Screenshot of New York Times crossword with a clue referencing R.
42410
David Keyes @dgkeyes.com · 10/12/2024
Finally got set up to share my code live while I teach. #rstats
061
David Keyes @dgkeyes.com · 22/11/2024
Here's what I ended up with. Not too shabby!
Chart showing life expectancy of Asian countries over time
050
David Keyes @dgkeyes.com · 22/11/2024
Going live on YouTube in 30 minutes, attempting to recreate this Financial Times graph in ggplot. #rstats Join me! youtube.com/live/mHyjToTTdqQ
0131
David Keyes @dgkeyes.com · 21/11/2024
I also see a sort of intermediate approach from Urban Institute. Their {urbnthemes} package has a set of custom geoms they make that override the default geoms. urbaninstitute.github.io/urbnthemes/r...
120
David Keyes @dgkeyes.com · 21/11/2024
This is sort of like the approach that the {tidyplots} package takes: rather than having the user create plots from scratch with ggplot, it offers a set of helper functions to make plots for them. jbengler.github.io/tidyplots/
120
David Keyes @dgkeyes.com · 15/11/2024
Thinking about doing some live streaming next week to recreate this Financial Times graph in ggplot. #rstats
Financial Times chart showing rise/fall in vote share for governing parties in national elections
12967
David Keyes @dgkeyes.com · 03/11/2024
Making a grocery list for election week
Grocery list showing just wine
030
David Keyes @dgkeyes.com · 29/10/2024
Teaching my son to use ggplot by making a chart of top soccer goalscorers of all time. The data might not be 100% accurate. #rstats
Graph of top soccer goalscorers of all time with one person added who does not belong there (my son)
080