Beautiful.
Beautiful.
Diagram comparing longitudinal vs encounter-level comorbidity detection using ICD-10 codes across five patient encounters. Top panel (Longitudinal): The patient initially has uncomplicated diabetes (E11.9). Later an encounter includes E11.22 and K72.10, indicating complex diabetes and severe liver disease. Using longitudinal logic, these conditions persist in later encounters even when only E11.9 appears, preserving severity and correctly flagging severe liver disease. Bottom panel (Encounter-level): Each encounter is evaluated independently. Diabetes changes from uncomplicated β complex β back to uncomplicated when E11.9 reappears, and severe liver disease is never flagged because its code does not repeat. Message: Ignoring patient history can downgrade severity or fail to identify comorbidities.
Graphic showing how the medicalcoder R package controls comorbidity detection using the flag.method argument. Left side: A sample dataset of patient encounters with variables patid, encid, icd10code, and poa, containing ICD-10 codes such as E11.9, K72.10, and E11.22. Below the dataset are two example R code blocks calling medicalcoder::comorbidities(): flag.method = "current" (default), producing encounter-level comorbidity flags. flag.method = "cumulative", producing patient-level flags that preserve comorbidities across encounters. Right side: the medicalcoder hex logo and labels explaining that current = encounter-level and cumulative = longitudinal history preserving. The graphic illustrates that longitudinal comorbidity tracking in medicalcoder is controlled by a single argument.
Same ICD codes. Same patient. Different risk profiles.
Encounter-level comorbidity logic assumes ICD codes are re-reported every visit. They usually arenβt.
medicalcoder handles this
π¦install.packages("medicalcoder")
#rstats #HealthInformatics #EHR #ClinicalResearch #RiskAdjustment #PublicHealth
Such a great package, too.
Over the weekend, I started collecting/organizing a list of cool #rstats skills for LLMs at github.com/christopherk.... Please open an issue or PR in any awesome additions you see!
Includes a section for helpful posts like @ivelasq3.bsky.social'sβ¬οΈ
I rounded up a few Claude Skills for #RStats users.
Huge thanks to the creators who developed them. They share Skills for everything from tidyverse code to brand.yml files to learning while using AI.
Hope the list is useful, and please let me know what I missed! π§‘
rworks.dev/posts/claude...
Screenshot of both sides of the printable version of the cheatsheet
Screenshot of the web version of the recipes cheatsheet
#tidymodels now has its very first cheatsheet! "Preprocessing data with {recipes}" is now available in Web and PDF versions here: rstudio.github.io/cheatsheets/... #rstats #posit #rstudio
We live in a magical time for #dataviz. This map is just a static html page served on GitHub pages π€―
It uses the incredible {pmtiles} #rstats package by @kylewalker.bsky.social to quickly filter through ~21M rows of data hosted on Cloudflare
vehicletrends.github.io/hhi-map/
Diff of a change the 'Getting Started in R - Tinyverse Edition' manuscript with a nice data.table improvement: inside a pair of ( ) we can place each chained operation on its own line improving readability. I.e. we have cw21 <- ( # use '(' to keep ops on separate lines cw[Time %in% c(0,21)] # i: select rows [, weight := Weight] # j: mutate [, Group := factor(Group)] [, .(Chick,Group,Time,weight)] # j: arrange [order(Chick,Time)] # i: order [1:5] # i: subset )
Josh Goldstein emailed me a nice tip for @rdatatable.bsky.social chaining: if we start a chained `data.table` operation inside a set of parens, we are no longer subject to the 'REPL constraint' and can keep each operation on a line. See ALT text. #rstats
Now in the pdf at github.com/eddelbuettel...
Awesome!
π¦ medicalcoder v0.8.0 is now on CRAN.
medicalcoder is a unified and longitudinally aware framework for ICD-based comorbidity assessment in #rstats
CRAN: cran.r-project.org/package=medi...
GitHub: github.com/dewittpe/med...
Website: peteredewitt.com/medicalcoder/
Iβm happy to announce Rapp v0.3.0 β a package that makes it easy to build and share polished CLI applications written in R.
Read more: www.tidyverse.org/blog/2026/02...
plumber2 hex
Announcing plumber2 0.2.0 for APIs in #RStats π§
plumber2 0.2.0 brings essential observability and authentication features to your R workflows:
Native support for traces and metrics, streamlined request handling for higher throughput, and more!
Read more: tidyverse.org/blog/2026/01...
Screenshot of webRios running on an iPad, showing a four-pane layout. The top-left Editor pane has an R script with code completion suggestions visible for the plot function. The bottom-left Console pane shows executed R output. The top-right Environment pane displays a variable x with a numeric value of 1. The bottom-right area shows Plots, Files, Packages, and Help tabs. A custom R keyboard row with operators like the assignment arrow, pipe, brackets, and common R symbols is visible at the bottom.
#webRios 1.1 is live! The big additions: code completion, customizable keyboard shortcuts, and a Data Import Wizard. Plus a better iPad four-pane layout (still a work in progress, more coming).
#RStats on your iPhone and iPad keeps getting better. Best experience on #iOS 26.
#rstats In very non-Superbowl news, here's an experimental π¦ for nice graphics display and UX in VS Code (and other potential front-ends).
github.com/grantmcdermo...
Do you all have a need to encrypt files you generate before sending? Iβve been working with honeycakefiles.com to protect files. Just seeing if there might be interest in an r package to use it to protect your files if I can get one put together (with permission of the company)?
#rstats
Iβm intrigued. Iβm just skimming the site, but I can see this being hella useful for folks in healthcare. Thereβs *a lot* of file sharing in healthcare, and those files would benefit from encryption during their journey.
My interest would double if there was an R package for it.
π Excited to announce that typeR is now on CRAN!
typeR simulates typing animations for R scripts - perfect for live coding demos and presentations.
Install: install.packages("typeR")
Docs: fgazzelloni.github.io/typeR/
#rstats #RPackage
dplyr 1.2.0 is out now and we are SO excited!
- `filter_out()` for dropping rows
- `recode_values()`, `replace_values()`, and `replace_when()` that join `case_when()` as a complete family of recoding/replacing tools
These are huge quality of life wins for #rstats!
tidyverse.org/blog/2026/02...
#rstats I've been testing out `arf`, a new R console written in Rust. Early days, but a v. smooth experience so far. Much simpler to install and link from VS Code than radian, for example, with better features too. github.com/eitsupi/arf
Mood in minneapolis right now
Sure thing!
I spent way too long on this package and ultimately had to pull back on some ambition.
But the {fpa} package is on its way to CRAN.
If you do lots of time intelligence functions in #rstats- this package comes in very handy as it provides sugar syntax for common needs
usrbinr.codeberg.page/fpa/
Hi guys!
I've spent the last 5 years building interactive reports for clients in RMarkdown and Quarto and looking at now creating Shiny apps. Curious what people would recommend as best practice frameworks, golem, rhino, or something else?
#RStats #Shiny
If youβre just starting with Shiny, Iβd start with {leprechaun} or {golem}. The {rhino} package is cool, but comes with a steeper learning curve b/c youβre learning {shiny} and {box} at the same time. I like {leprechaun} b/c itβs more minimalist; starting a {golem} can feel like a lot upfront.
gqlr v0.1.0 is now on CRAN! π
A @graphql.org server for #rstats
New in 0.1.0:
β¨ GraphiQL interactive IDE support
β¨ Verbose error messages for easier debugging
π Fixed mutation execution validation
π§ Removed pryr dependency
π: schloerke.com/gqlr/
π: github.com/schloerke/gqlr
#RStats #GraphQL
Excited to share that orbital 0.4.0 is now on CRAN with post processing support for tailor and a new show_query() method
#rstats #tidymodels
tidyverse.org/blog/2026/01...
If youβre caching something like access tokens used to obtain data, then Iβd be fine with the package purging old tokens. Seems like decent security hygiene.
If youβre caching data users will be analyzing, Iβd leave cache maintenance to users with appropriate helpers. I might have reasons for keeping data taken at a point in time, and if that data got deleted on package load, I might not be able to recover the exact data I had before.