Learn to use the most powerful tool for working with data.
Even if you've never coded before.
Blog
Introducing the {pdfcheck} R package for checking the accessibility of PDFs
February 5, 2026
Are the PDFs you're creating accessible? Can someone using a screen reader navigate them? Is the color contrast sufficient for people who are colorblind? These are questions we've been getting a lot from our consulting clients at Clarity Data Studio. And honestly? When we reviewed our own PDFs, we found there wasn't a really great tool to check accessibility and give us actionable steps to improve. So we decided to build our own. It's called {pdfcheck}, and it's an R package that helps you...
[Livestream Recording] How to Make High-Quality PDFs with Quarto and Typst
November 20, 2025
Last week, we released our massive blog post on making report templates using Quarto and Typst. R for the Rest of Us consultant Joseph Barbier and I did a livestream yesterday where we went over several questions submitted to us on this topic. In the livestream we covered several topics, including: Making complex elements that we used in the state-level immunization reports we recently created for the Johns Hopkins University International Vaccine Access Center. Taking a Typst template and...
How to Make High-Quality PDFs with Quarto and Typst
November 12, 2025
In our consulting work at Clarity Data Studio, many clients come to us for support making highly-branded PDF reports. I spoke about how we make these reports in my 2024 posit::conf talk Report Design in R: Small Tweaks that Make a Big Difference. In the last couple years, we’ve moved to Typst almost exclusively for making PDFs. Of the two promises that Typst makes (powerful and easy to learn), we agree with the first. The second, however, a bit less so. The Typst website has great...
Pros and Cons of Positron
November 6, 2025
Posit recently announced that their code editor Positron is now available as a stable release. With Positron out of beta, I thought it might be useful to go over what it is as well as some of the pros and cons for users considering moving to Positron from RStudio. Much of the rationale that Posit has given for Positron is to develop a code editor that works equally well for R and Python. Although this multilingual support isn't relevant to me (and, I suspect, many of you reading this), there...
What's New in R
A weekly roundup of new resources in the world of R.
What’s New in R: April 27, 2026
April 27, 2026
Welcome to this week’s edition of What’s New in R! This week, we’re featuring a comprehensive guide to making beautiful tables with {gt}, a tutorial on interactive beeswarm charts, and a look at how one R user is building a data infrastructure for Kenyan baseball. Let’s dive in!Creating Effective Display Tables with the gt Package Richard Iannone, the creator of {gt}, has published an online book that serves as the definitive guide to building publication-ready tables in R. It covers...
What’s New in R: April 20, 2026
April 20, 2026
Welcome to this week’s edition of What’s New in R! This week, we’re featuring a video walkthrough of Andrew Heiss’s Positron workflow, a collection of Claude skills for R users, and a skill for auto-generating _brand.yml files for Quarto. Let’s dive in!How to make your data analysis life easier using Positron, Raycast, and Espanso Andrew Heiss, professor at Georgia State University and one of the R community’s most thoughtful workflow tinkerers, sat down with Posit’s Data Science Lab to...
What’s New in R: April 13, 2026
April 13, 2026
Welcome to this week’s edition of What’s New in R! This week, we’re featuring a living guide to LLM tools for R, a version control tutorial for data workers, and tips for creating publication-ready figures with {ggplot2}. Let’s dive in!Large Language Model tools for R The AI space moves fast, and Luis D. Verde Arregoitia has been keeping up with it so you don’t have to. His online book catalogs the ever-growing ecosystem of R packages for working with large language models, covering...
What’s New in R: April 6, 2026
April 6, 2026
Welcome to this week’s edition of What’s New in R! This week, we’re featuring a tutorial on bivariate choropleth maps in {tmap}, a new package for adding AI-powered chat to Shiny apps, and a video guide to switching from RStudio to Positron. Let’s dive in!Bivariate choropleths are go! David O’Sullivan walks through the new bivariate choropleth mapping capabilities added in {tmap} version 4. Bivariate choropleths blend two semi-transparent color schemes to represent two variables...
R in 2 Minutes
Short videos highlighting useful R packages and functions.
A new way to make error messages in R actually make sense
December 10, 2025
We've all been there: you run your code and get an error message that makes absolutely no sense. I recently discovered a new tool in Positron that can actually explain your errors in plain language AND even fix your code for you automatically! I demonstrate this functionality using real-time coding examples, showcasing how Positron's built-in features can make inscrutable error messages actually make sense.
How to add speaker notes to Quarto slides
June 26, 2025
Have you ever been presenting slides and wished you had some hidden notes to help guide you through your presentation? There is a super helpful feature in Quarto that lets you add speaker notes to your slides - and your audience will never see them! In this quick video, I show you how to: Add speaker notes to your Quarto slides Access your notes during presentations Keep your notes on a second screen This has been a game-changer for me when teaching R in 3 Months sessions. I can keep track of...
How to conditionally execute code chunks in Quarto
June 5, 2025
Ever had a Quarto document where some code works perfectly in HTML but looks awful in Word (or vice versa)? I just ran into this problem with tables -{gt} tables look great in HTML but not so hot in Word, while {flextable} works beautifully in Word format. In this quick video, I show you a neat trick for conditionally executing code in Quarto. This is super handy when you're creating documents that need to be exported to multiple formats. No more manually commenting out code or creating...
How to add patterns to your plots with {ggpattern}
May 15, 2025
Ever wanted to add patterns to your plots made with ggplot? You can with the {ggpattern} package! Check out this short intro to the package. If you want to go deeper on {ggpattern}, check out its documentation website for all of the details about how it works. Code used:
Podcast
Conversations with users around the world about interesting things they are doing with R.
R for the Rest of Us Podcast Episode 29: Mike Stackhouse
March 13, 2026
In this episode, Mike Stackhouse, Chief Innovation Officer at Atorus Research, shares valuable insights on effectively using AI with R programming, especially in regulated environments like pharmaceuticals and healthcare. Think of AI as a "Very Confident Junior Programmer" Mike's most memorable analogy frames LLMs perfectly: they're like junior developers who are extremely confident but occasionally wrong. Since LLMs fundamentally work with text in and text out, with limited context windows,...
R for the Rest of Us Podcast Episode 28: Nick Tierney
July 10, 2025
Our latest R for the Rest of Us podcast episode features Nick Tierney—a statistician, R developer, and consultant whose career journey spans academic research, software engineering, and more. In this episode, we talk about Nick’s journey with R, his influential blog Credibly Curious, and how he built {naniar}—an R package designed to make working with missing data easier. Nick also discusses: Why writing tests for R packages is essential (and easier than you might think) His philosophy on...
R for the Rest of Us Podcast Episode 27: Garrick Aden-Buie
June 12, 2025
In Episode 27 of R for the Rest of Us, we sit down with Garrick Aden-Buie, a senior software engineer at Posit (formerly RStudio), to explore his latest project: brand.yml. This innovative tool aims to simplify and unify branding across various data science outputs, including Quarto documents, Shiny apps, and more. Garrick shares the inspiration behind brand.yml, stemming from his experiences in creating custom theming solutions at different organizations. Recognizing the repetitive nature of...
R for the Rest of Us Podcast Episode 26: Deepali Kank
May 8, 2025
In this episode of R for the Rest of Us podcast, I chat with Deepali Kank, a talented R user and data visualization expert. Deepali shares her journey from creating static visualizations in ggplot2 to building interactive charts using Observable Plot, a JavaScript-based tool. We dive into her recent projects, explore how Observable makes it easy to add interactivity, and talk about how it compares with tools like Shiny and Quarto dashboards. If you're curious about expanding your data viz...