sarah
banner
sarahjohnson.io
sarah
@sarahjohnson.io
Research Specialist at Princeton University's Eviction Lab
R programmer & housing analyst
Pinned
I was loving Claude Code... until I tried it with #rstats. Constant errors, wouldn't use the tidyverse even when asked, "optimized" functions were slower.

Frustrated, I started a session just to teach R to Claude and summarize what it learned into a CLAUDE.md file gist.github.com/sj-io/3828d6...
Claude R Tidyverse Expert
Claude R Tidyverse Expert. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
I hope to help clean up & flesh out the R skills Jeremy put together, just been a bit busy recently and haven't set aside the time.
February 9, 2026 at 11:21 PM
I also found a Skill for optimizing performance to be extremely useful. It outlines how to use profvis and benchmark to compare code, so Claude knows for sure that a recommended change improves speed. Also, a skill for rlang is also very helpful for clean tidyverse functions.
February 9, 2026 at 11:21 PM
That being said, I found skills to be extremely useful in making sure Claude is up-to-date with R. For instance, I had some functions break with the most recent stringr update, so I provided the updated docs to Claude, asked it to update its Skill, then it fixed the problem in one shot.
February 9, 2026 at 11:21 PM
Sorry for taking so long getting back. Ngl, I rarely use Claude for R. For my work, I often code in R as quickly as I can type out the prompt and correct any issues (and I just find R a pleasure to write). I also found Opus 4.5 much better about using the tidyverse (haven't tested R with 4.6 yet).
February 9, 2026 at 11:21 PM
I also experienced this and made a CLAUDE.md file last year to help with some of the basics, and @jeremy-data.bsky.social just turned it into Claude Skills! They're in his repo for now but plans to add them to Posit's public skills repo! github.com/jeremy-allen...
GitHub - jeremy-allen/claude-skills
Contribute to jeremy-allen/claude-skills development by creating an account on GitHub.
github.com
January 12, 2026 at 8:13 PM
Reposted by sarah
If you don't want Claude to load all this great #RStats content for each session, try asking Claude Code to deconstruct this content into distinct skills. On first pass it did not add required YAML headers, so needed second pass with those instructions. Here are the skills I ended up with.
January 10, 2026 at 6:03 PM
Reposted by sarah
Rising rents are leaving households with less income to pay for other needs, and inflation has also pushed up the cost of other necessities.

Our new paper finds that, after paying for rent, 2/3 of working-age renters cannot afford their basic needs.

www.jchs.harvard.edu/blog/two-thi...
Two-Thirds of Working-Age Renters Struggle to Afford Basic Needs
Rising rents are squeezing renter households, leaving them with less residual income to pay for other needs. But inflation has also pushed up the cost
www.jchs.harvard.edu
September 29, 2025 at 2:48 PM
Reposted by sarah
I am super hyped to finally share the first release of plumber2 with all of you. This has been the center of my attention for a big part of 2025 and I hope you'll find it a worthy update to the venerable plumber package.

The blog post will tell you more

#rstats
plumber2 0.1.0
plumber2, a complete rewrite of plumber, has landed on CRAN, providing a modern, future proof solution for creating web servers in R. Read all about the new features here.
www.tidyverse.org
September 24, 2025 at 6:52 AM
Thank you for @ ing me! I appreciate it!
September 18, 2025 at 7:49 PM
Thank you for your response and apologies for the delay in getting back to you. I was hoping to put in a PR but I've been swamped recently. Here is what I have so far: gist.github.com/sj-io/f1f3b2... made by combining the _variables.scss under scss:defaults and _bootswatch.scss under scss:rules
Brite theme for Quarto
Brite theme for Quarto. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
September 12, 2025 at 11:34 PM
(also informally requesting Quarto add Bootswatch's Brite theme. It looks so sick, I had to manually add it and test it out)
August 27, 2025 at 10:37 AM
Do you ever make a really nice table and then spend like 30+ minutes just clicking around?

reactable has gotta be my fav R table package. This table has just shy of 50K rows with grouping, conditional formatting, filtering and sorting. Renders and runs super fast. #rstats
August 27, 2025 at 10:37 AM
Good suggestion on the blog post! I've started to put one together. Quick answer: I downloaded md (or rmd/qmd) files from github, saved them in a folder, then opened Claude and basically said "we're having too many R errors, esp w/ the tidyverse, please summarize these in a way you can remember"
August 22, 2025 at 7:12 AM
Late to the party but I'm constantly working with lookup tables and this would be huge for me. I've been using a homemade solution but I would love these functions, esp w/ the error handling. Can't wait to use these and thank y'all for adding them! bsky.app/profile/sara...
I also wrapped this into a function for one of my packages, so I can just pass on two vectors of the same length to str_replace_all without creating a named vector manually beforehand
August 21, 2025 at 5:45 PM
I saw others suggesting this idea but I hadn't seen anyone share a CLAUDE.md or similar file. This might also be fixed if you use the API and MCP, but I'm already paying for Claude Code.

also there's no ggplot, lubridate in the file but you can always ask Claude to update the file with new docs.
August 21, 2025 at 10:18 AM
The file is long, but large chunks can probably be removed depending on your use. I needed help with package development, so I fed it a bunch of rlang pages. Also added things I'm less familiar with, like vctrs and s7, so maybe it can help me improve in the future. (& lmk if you see something wrong)
August 21, 2025 at 10:18 AM
I placed this into a project I was trying to debug and the results were 1000x better, truly night and day. I'm no longer having to teach it R while trying to work. It can make modern functions in one attempt, benchmark code, add parallelization.
August 21, 2025 at 10:18 AM
I gave it only pages from official tidyverse docs, vingettes, blog posts, style guide, and excerpts from R for Data Science and Advanced R. I asked it to not only summarize the files but also make sure it knew *when* to use tidyverse over base R.
August 21, 2025 at 10:18 AM
I was loving Claude Code... until I tried it with #rstats. Constant errors, wouldn't use the tidyverse even when asked, "optimized" functions were slower.

Frustrated, I started a session just to teach R to Claude and summarize what it learned into a CLAUDE.md file gist.github.com/sj-io/3828d6...
Claude R Tidyverse Expert
Claude R Tidyverse Expert. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
August 21, 2025 at 10:18 AM
I also wrapped this into a function for one of my packages, so I can just pass on two vectors of the same length to str_replace_all without creating a named vector manually beforehand
June 23, 2025 at 7:34 PM
I don't know if it fits your use case, but str_replace_all can replace with a named vector. You might need to add "\\b" around the input to make sure it doesn't match partials, or wrap it with "^" and "$" for an exact match.
June 23, 2025 at 7:34 PM
Reposted by sarah
Hot off the press! Annual eviction report here:
In 2024, landlords filed more than a million evictions in the 30+ cities and 10 states we monitor.

While some jurisdictions showed progress, others revealed concerning trends. We’re sounding the alarm in several cities. Learn more in our 2024 report: evictionlab.org/ets-report-2...
Preliminary Analysis: Eviction Filing Patterns in 2024
The days of emergency rental assistance and eviction protections are long gone. Now, our data show that landlords are filing evictions at nearly the same levels as before 2020.
evictionlab.org
April 24, 2025 at 7:31 PM
haha switching it around to "r gt" works for me
March 3, 2025 at 1:09 AM
Reposted by sarah
Median age of homebuyers just hit a new record high of 56
(Via Torsten Slok)
February 21, 2025 at 12:44 PM
Reposted by sarah
The department will cut employees in the offices that enforce civil rights laws, compile data about the housing market, and pay to rebuild communities after disasters.

news.bloomberglaw.com/daily-labor-...
US Housing Department to Shed Half its Workers, Union Chief Says
The US Department of Housing and Urban Development plans to discharge 50% of its workforce, the agency’s union president told Bloomberg Law.
news.bloomberglaw.com
February 14, 2025 at 2:35 PM