Advertisement Β· 728 Γ— 90

Posts by Jon Harmon (he/him/his)

Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results!
TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club!

 How to Participate
Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data.
Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data.
Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language.
Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results! TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club! How to Participate Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data. Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data. Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language. Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

A collage of four charts exploring global health expenditure using data from the Global Health Expenditure Database (GHED). Top left: a Voronoi treemap of total global health care spending broken down by country, dominated by high income countries. Top right: a small-multiples line chart showing out-of-pocket payments as a share of health spending are declining across all income groups, but remain high in many countries. Bottom left: a bubble chart showing many African countries fall short of the $86 per capita and 5% of GDP health spending targets. Bottom right: a scatter plot with LOESS curves showing curative spending rises with income while preventive spending gets squeezed.

A collage of four charts exploring global health expenditure using data from the Global Health Expenditure Database (GHED). Top left: a Voronoi treemap of total global health care spending broken down by country, dominated by high income countries. Top right: a small-multiples line chart showing out-of-pocket payments as a share of health spending are declining across all income groups, but remain high in many countries. Bottom left: a bubble chart showing many African countries fall short of the $86 per capita and 5% of GDP health spending targets. Bottom right: a scatter plot with LOESS curves showing curative spending rises with income while preventive spending gets squeezed.

@dslc.io welcomes you to week 16 of #TidyTuesday! We're exploring Global Health Spending!

πŸ“‚ https://tidytues.day/2026/2026-04-21
πŸ“° data.one.org/analysis/out-of-pocket-h...

#RStats #PyData #JuliaLang #DataViz #tidyverse #r4ds

10 hours ago 3 0 0 0

Mine's "The Design of Everyday Functions". I'm not 100% certain yet EXACTLY what it will shake out to be but I suspect it's in the same general space you were thinking.

2 days ago 3 0 1 0

Yay, @rpodcast.bsky.social and @mike-thomas.bsky.social are back! Their absence made it feel like there wasn't much news out of #RStats in the last month or so πŸ™ƒ

3 days ago 2 1 0 0

I'm planning on a GIANT roxygen2 release in the near future (tons of bug fixes, improved R6 support, new S7 support, ...) so if you use for your packages, I'd really appreciate you trying it out and letting me know if you see any problems! github.com/r-lib/roxyge... #rstats

4 days ago 52 16 1 0
Post image

Bird Sightings in the Tasman Sea, New Zealand and Australian waters (1969–1990) for #TidyTuesday, week 14.

#30DayChartChallenge | Flowingdata

#Rstats #Dataviz #ggplot2

1 week ago 33 3 3 1

Curator: @jonthegeek.com

1 week ago 0 0 0 0
Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results!
TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club!

 How to Participate
Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data.
Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data.
Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language.
Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results! TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club! How to Participate Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data. Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data. Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language. Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

Screenshot of an interactive visualization summarizing bird sightings. At top, a zoomed out world map displays record density with thousands of observations intensely clustered in specific grid cells within the Southern Ocean. At bottom left, a temporal histogram starts with about 1000 records in 1969, no data for 1970 to 1974, then counts that peak at over 3000 records from 1984 to 1987, quickly trailing off and ending in 1990. At bottom right, a nested taxonomic sunburst chart shows that all records are within the Phylum Chordata and Class Aves. The vast majority of records are within Order Procellariiformes and Family Procellariidae, with representation from other Procellariiformes Families (primarily Diomedeidae) and other Orders: Charadriiformes (Family Laridae) and Pelecaniformes (Family Sulidae).

Screenshot of an interactive visualization summarizing bird sightings. At top, a zoomed out world map displays record density with thousands of observations intensely clustered in specific grid cells within the Southern Ocean. At bottom left, a temporal histogram starts with about 1000 records in 1969, no data for 1970 to 1974, then counts that peak at over 3000 records from 1984 to 1987, quickly trailing off and ending in 1990. At bottom right, a nested taxonomic sunburst chart shows that all records are within the Phylum Chordata and Class Aves. The vast majority of records are within Order Procellariiformes and Family Procellariidae, with representation from other Procellariiformes Families (primarily Diomedeidae) and other Orders: Charadriiformes (Family Laridae) and Pelecaniformes (Family Sulidae).

@dslc.io welcomes you to week 15 of #TidyTuesday! We're exploring Bird Sightings at Sea!

πŸ“ https://tidytues.day/2026/2026-04-14
πŸ—žοΈ obis.org/dataset/29ea15ed-8f76-40...

#RStats #PyData #JuliaLang #DataViz #tidyverse #r4ds

1 week ago 7 1 1 1

It is with great sadness that we announce the passing on 1 April of TomΓ‘Ε‘ Kalibera, a valuable member of the R Core Team for close to 10 years, after a short but aggressive illness.

TomΓ‘Ε‘ is survived by his wife and 1 year old son. A full obituary will be posted in due time.

1 week ago 81 24 1 4
Advertisement

πŸ“¦ tidytuesdayR 1.3.2 is on its way to CRAN πŸŽ‰
Changes center around Dataset Curation functions

βž• Curation works on Positron
πŸ§‘β€πŸ’» tt_meta() gains options for attribution/social media
βœ… tt_submit() checks & deals with more things

dslc-io.github.io/tidytuesdayR...
#RStats #DataBS #TidyTuesday

1 week ago 9 2 1 0

A closure of research software engineers #RStats

1 week ago 12 1 2 1

I previously scheduled social media posts to "live blog" a talk I was giving, but I'm thinking this time I'll run it through #GenAI so I won't know exactly what it will say about my talk... #RStats #PositConf2026

1 week ago 4 0 0 0

My "Design of Everyday R Functions" talk is in the "R Nerds" block Wednesday afternoon up against the "AI in Data Science" block 😭 But my talk includes tips for making your code work better with AI, so you really get 2 blocks for the price of 1 with Team Nerd πŸ€“πŸ’ͺπŸ€–! #RStats #PositConf2026

1 week ago 22 3 0 1
Preview
C optimization: single-pass character-to-logical via `ffi_chr_to_lgl` by Copilot Β· Pull Request #222 Β· wranglezone/stbl to_lgl.character() was calling toupper() twice β€” once inside are_lgl_ish.character() for validation, then again independently for conversion. This was the dominant allocation hotspot for character ...

I got about a 9x speed-up from my first "implement this in C" ticket for Github Copilot (github.com/wranglezone/...). It was already pretty fast, but now it's faster!
Setting it loose on some more character manipulation... #RStats #GenAI #CLang #IDontKnowThatHashtag

2 weeks ago 1 0 0 0

Yeah, that's what I meant, mostly. And/or a "find things to implement in C" skill.

2 weeks ago 0 1 0 0
Preview
R/Pharma 2026: Call for Speakers

πŸ“£ The Call for Talks for R/Pharma Virtual 2026 is now open!

If you're working with R, Python, or open-source in Pharma, we’d love to hear from you.

Submit by May 2nd:
sessionize.com/rpharma-2026/
www.linkedin.com/company/open...

#RStats #Python #Pharma #DataScience #ClinicalTrials #AI #LLMs

2 weeks ago 9 5 0 0
Advertisement
Preview
AI Skills for R Package Development A collection of curated, opinionated skills and agent instructions to improve agentic coding of R packages.

Do you have a skill for this anywhere by chance? After I play a bit, I'll probably add this to {pkgskills}! pkgskills.api2r.org

2 weeks ago 0 0 1 0
A vertical U.S. flag that is faded near the top, artistically representing an ongoing loss of press freedom. Two years are highlighted: 2020, and 2025, with global press freedom scores of 76.15 and 65.49, respectively.

A vertical U.S. flag that is faded near the top, artistically representing an ongoing loss of press freedom. Two years are highlighted: 2020, and 2025, with global press freedom scores of 76.15 and 65.49, respectively.

Day 6 #30DayChartChallenge: Reporters Without Borders (Data Day)

Watercolor and ink on cold press paper.

2 weeks ago 50 12 2 0

Curator: @jenrichmondPhD

2 weeks ago 0 0 0 0
Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

Logo for the #TidyTuesday Project. The words TidyTuesday, A weekly data project from the Data Science Learning Community (dslc.io) overlaying a black paint splash.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results!
TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club!

 How to Participate
Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data.
Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data.
Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language.
Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

TidyTuesday is a weekly social data project. All are welcome to participate! Please remember to share the code used to generate your results! TidyTuesday is organized by the Data Science Learning Community. Join our Slack for free online help with R and other data-related topics, or to participate in a data-related book club! How to Participate Data is posted to social media every Monday morning. Follow the instructions in the new post for how to download the data. Explore the data, watching out for interesting relationships. We would like to emphasize that you should not draw conclusions about causation in the data. Create a visualization, a model, a shiny app, or some other piece of data-science-related output, using R or another programming language. Share your output and the code used to generate it on social media with the #TidyTuesday hashtag.

Infographic titled 'Can you fix it?' showing repair success rates (0–100%) for the 100 most common items brought to Repair CafΓ©s between 2015 and 2025. A horizontal dot plot grouped by product category. Non-electric items (like knives, scissors, and bikes) have the highest success rates, with knives and scissors at 98%. Electric appliances, tools, TVs, printers, and phones have lower and more varied success rates. Overall success rate: 62% across 136,000 repairs. Plot credit: Yanika Borg (https://www.linkedin.com/in/yanikaborg/)

Infographic titled 'Can you fix it?' showing repair success rates (0–100%) for the 100 most common items brought to Repair CafΓ©s between 2015 and 2025. A horizontal dot plot grouped by product category. Non-electric items (like knives, scissors, and bikes) have the highest success rates, with knives and scissors at 98%. Electric appliances, tools, TVs, printers, and phones have lower and more varied success rates. Overall success rate: 62% across 136,000 repairs. Plot credit: Yanika Borg (https://www.linkedin.com/in/yanikaborg/)

@dslc.io welcomes you to week 14 of #TidyTuesday! We're exploring Repair Cafes Worldwide!

πŸ“‚ https://tidytues.day/2026/2026-04-07
πŸ—žοΈ insideclimatenews.org/news/11112025/todays-cli...

#RStats #PyData #JuliaLang #DataViz #tidyverse #r4ds

2 weeks ago 9 2 1 1

Directly on the cloud. I can even assign an issue to copilot through the app 😁

2 weeks ago 1 0 0 0

pkgskills makes this work muuuuuch better! api2r.github.io/pkgskills/in... #RStats #GenAI

2 weeks ago 13 1 0 0

There's something really satisfying about sitting on my couch, drinking wine... And reviewing github copilot PRs πŸ€“ #RStats #GenAI

2 weeks ago 7 0 1 1

{stbl} & other "make it easier for your users" tips will be featured in my upcoming #PositConf2026 talk, "The Design of Everyday Functions". I look forward to seeing many of you in Houston in September!

2 weeks ago 4 0 0 0

It tells them what arg was wrong where ("Error in `age_differ()`: `ages` <character> must be coercible to integer", not something downstream like "Error in x - dplyr::lag(x): non-numeric argument to binary operator".

2 weeks ago 1 0 1 0
Advertisement

As a dev, I'm not picky about what users give me. That's what {stbl} is for. If I need ages to be an integer, stbl::to_int(ages) will make sure what I get is "integer-enough", and give the user a clear error message if it can't figure it out.

2 weeks ago 2 0 1 0
Stabilize Function Arguments A set of consistent, opinionated functions to quickly check function arguments, coerce them to the desired configuration, or deliver informative error messages when that is not possible.

As a user, I love it when #RStats functions feel like they know what I meant, even when I'm a bit sloppy. If it's looking for TRUE and I send in "true" from a variable somewhere upstream, often that's close enough... But not always. That's why I made {stbl} stbl.wrangle.zone. v0.3.0 is on CRAN today

2 weeks ago 24 2 2 0
Image from main submissions form

Image from main submissions form

πŸš€ The R Consortium Technical Grant Cycle is now open!

Have an idea to improve R’s technical infrastructure? Apply for funding!

πŸ“… Apply by May 1
πŸ“… Decisions by June 1

r-consortium.org/all-projects...

#rstats #opensource #datascience #rconsortium #rcommunity

2 weeks ago 11 5 0 1
Foreword | Outstanding User Interfaces with Shiny A book about deeply customizing Shiny app for production.

Links:
- unleash-shiny.rinterface.com by @davidgranjon.bsky.social
- r-pkgs.org by @hadley.nz and @jennybryan.bsky.social
- rstudio.github.io/r-manuals/r-... / cran.r-project.org/doc/manuals/... by the R Core Team
- quarto.org/docs/guide/ by @quarto.org / @posit.co

2 weeks ago 1 0 0 0

Which DSLC.io book club would you join?

1️⃣ Outstanding User Interfaces with Shiny
2️⃣ R Packages
3️⃣ Writing R Extensions
4️⃣ Quarto Docs

πŸ“Š Show results

2 weeks ago 2 1 2 0
dslc.io

We're spinning up new book clubs at DSLC.io, and a great facilitator wants help choosing which book to lead a cohort through next. Please see the poll in the reply! #dataBS #RStats #Quarto #RShiny

2 weeks ago 6 3 1 1