Jenny Bryan

Jenny Bryan

@jennybryan.bsky.social

Software engineer @posit.co, humane #rstats

6,493 Followers 464 Following 85 Posts Joined Jul 2023
12 hours ago

This is fantastic news! Heather is such a positive force in the #rstats community and is doing vital work for the long-term sustainability of R and its community.

41 8 2 0
1 week ago

in a similar vein, I'm not fond of the "chore" label in issue tagging systems

12 0 1 0
1 week ago
Post image Post image Post image Post image

The future of #DataScience is at #positconf 2026. Check out our keynote lineup:
Wes McKinney: Future of high-performance computing
Christine Zhang: Data storytelling at NY Times
Emily Riederer: Scaling open-source at Capital One
Sara Altman & Simon Couch: AI-driven workflows
Register: pos.it/conf

17 8 0 2
2 weeks ago
Preview
Self-cleaning test fixtures A wild romp through environments -- namely, the environments associated with functions and tests. How to adopt a low-impact lifestyle.

this is one of my very favorite things about withr's take on this

withr::defer() -> withr::deferred_run()

tidyverse.org/blog/2020/04...

1 0 0 0
2 weeks ago
Post image

Apply to be an Opportunity Scholar at posit::conf(2026) in Houston!
We’re offering 40 full-support scholarships for underrepresented groups in data science. Includes: 🎟️ Conference+Workshop pass 🏨 Hotel stay ✈️ Travel reimbursement
Apply by March 13: posit.co/blog/apply-t...
#positconf2026 #rstats

22 13 0 2
1 month ago
A close-up view of a computer monitor in a dimly lit room, showing a terminal console. The terminal displays the output of an R function called meetupr_sitrep(). The report shows green checkmarks for "Active Authentication" and "Cached Token," and a blue information icon for package settings. At the bottom, a red "X" marks a failed "API Connectivity Test," illustrating a diagnostic situation report in action. In the foreground, a coffee mug and a person’s hand on a keyboard are visible but slightly out of focus.

Stop playing "diagnostics ping-pong" with your users πŸ“

Wrote about why every R package wrapping external tools needs a sitrep() function β€” with real examples from meetupr and freesurfer.

#RStats

https://drmo.site/F5gVjR

22 6 0 0
1 month ago
Post image

Good news: The posit::conf(2026) Call for Talks has been extended to Friday, February 20!
Join us in Houston to share your work with the R & Python community.
🎀 Speakers receive: Professional coaching, free conference pass, travel assistance
Submit your 20-min talk proposal: pos.it/conf-talk-2026

9 5 0 1
1 month ago

you don't need to copy/paste from that preview! the rendered reprex, in a friendly md form, is already on your clipboard πŸ˜†

the htmlpreview is for your πŸ‘€, but the good stuff is on the clipboard waiting to be pasted in the relevant venue (default is github, but slack can also be requested)

5 1 1 1
1 month ago
Post image

Speak at posit::conf(2026) and share your R & Python stories!

Accepted speakers get:
✨ Travel & lodging help
✨ Free conference pass
✨ Professional coaching

Apply by Feb 6 to join us Sept 14-16 in Houston, TX!

Submit here: pos.it/conf-talk-2026

#positconf2026 #rstats #pydata

30 12 0 2
3 months ago
GitHub - HenrikBengtsson/dirdf: R package: dirdf - Extracts Metadata from Directory and File Names R package: dirdf - Extracts Metadata from Directory and File Names - HenrikBengtsson/dirdf

the tidyr::separate_wider_*() functions might offer a nice little improvement to your existing approach

this idea has been kicking around for years and @henrikbengtsson.bsky.social catalyzed something at an rOpenSci unconf once: github.com/HenrikBengts...

8 0 1 0
3 months ago
Post image

Join us this summer in Visby, Sweden πŸ‡ΈπŸ‡ͺ for RaukR 2026, a 2-week intensive R summer school πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’» to take your R skills πŸ“Š beyond the basics. Sign up now for early bird offer! @nbis.se @scilifelab

#rstats #r #datascience #code #bioinformatics #nbisweden #raukr

go.nbis.se/raukr-2026/

2 2 0 0
3 months ago
17Β  Vignettes – R Packages (2e) Learn how to create a package, the fundamental unit of shareable, reusable, and reproducible R code.

Vignette workflows are just inherently awkward since, unlike help topics and `man/*.Rd` files, the rendered form of vignettes has no legit business or home inside an R package in source form. This chapter outlines some of the least bad workflows:

r-pkgs.org/vignettes.html

8 0 1 0
3 months ago

I define short aliases `bp()` and `bg()` for `usethis::browse_package()` and `usethis::browse_github()` in `.Rprofile` because I use them so much.

5 0 0 0
3 months ago
Screenshot showing usage of usethis::browse_package(), usethis::browse_cran(), and usethis::browse_github().

I'm reminded of how handy the usethis::browse_*() functions are and thought I'd remind people they exist. Choose from a menu of links or go straight to CRAN or GitHub. #rstats

55 18 2 0
4 months ago

This gives a fantastic framing of how to think about reproducibility (it's a spectrum) and how to use renv with intention. Highly recommend, even if you're not using renv, to get a better understanding of how to live in peace as R and package versions advance πŸ•ŠοΈ #rstats

44 8 2 0
4 months ago
YouTube
10 Years of Data Science Tools...and What Happens Next (Jonathan McPherson) | posit::conf(2025) YouTube video by Posit PBC

My keynote about data science tools at posit::conf is now online! I originally meant it to be a talk about Positron, but as I was writing it, it took a left turn through the history of RStudio and into the philosophy of tool design & how to build stuff for people.

www.youtube.com/watch?v=tGre...

48 11 0 0
4 months ago
Example of using `filter_out()` on the `penguins` dataset, showing how it is much easier than `filter()`, especially with `NA`s

We are looking for #rstats community feedback on 3 new dplyr functions!

We're aiming to expand the `filter()` family:

- `filter()` to keep rows
- `filter_out()` to drop rows
- `when_any()` and `when_all()` as modifiers

Read more and leave feedback here:
github.com/tidyverse/ti...

149 33 10 6
4 months ago

maybe it should be your first Pythong package 🩴

11 1 1 0
4 months ago

Will definitely include this example in my next talk on how to name files!

βœ… Full marks for "make it easy to guess what the heck something is, based on it name".

38 4 1 1
4 months ago
Positron for RStudio Users: A Gentle Introduction with an image of a cute orange kitten sniffing a hand

I loved discussing "Positron for RStudio Users: A Gentle Introduction" with @simisani.bsky.social & R-Ladies Gaborone!

Check out the recording and materials:

πŸ“Ή www.youtube.com/watch?v=2fOQ...
πŸ“ ivelasq.rbind.io/talk/positro...

I hope this intro is better than the one between my three cats 😹

40 8 3 0
4 months ago
Video thumbnail

I'm excited to share a new version of the Air formatter for #rstats, with support for tabular formatting! Super useful with `tibble::tribble()` calls or `data.table::fcase()`.

It's currently experimental as we're looking to get feedback on the feature, so please let us know what you think.

137 31 7 2
4 months ago

I still marvel at the choice to do "C:\Program Files"

9 0 1 0
5 months ago
Preview
bliki: Frequency Reduces Difficulty "If it hurts - do it more often". Good advice if the amount of pain raises exponentially with the time between actions, such as for integrating software.

BTW this "Frequency Reduces Difficulty" post from @martinfowler.com is the origin of the mantra "if it hurts, do it more often" (at least, it's where I learned it). It's amazing how broadly this applies.

martinfowler.com/bliki/Freque...

28 4 0 1
5 months ago

I bet the whole reason he's thinking about this is that I was complaining to him (to everyone, really) about the pain of using Windows full-time while my macbook's logic board gets replaced. And he brought out the house words "if it hurts, do it more often!"

40 2 3 1
5 months ago

this is a *wild* exaggeration but I'll allow it 🀣

18 1 1 0
5 months ago
"When you hit enter for a newline in your prompt" on the "This little maneuver is gonna cost us 51 years" image from Interstellar
13 2 1 0
5 months ago

2️⃣ I HAVE SUCH STRONG FEELINGS ABOUT THIS but already sense that it's a lost cause

21 0 1 0
5 months ago
Preview
GitHub - r-lib/rig: The R Installation Manager The R Installation Manager. Contribute to r-lib/rig development by creating an account on GitHub.

I'd install Xcode command line tools (NOT all of Xcode) to get git and compilers, etc. (xcode-select --install)

and I'd use rig to install one or more versions of R (github.com/r-lib/rig)

(my macbook's logic board failed and is being replaced, so I'll be doing all this set up myself soon 😬)

7 0 1 0
5 months ago
you should be using pak

Ever run `install.packages()` and wish it were faster, smarter, and more reliable?

The {pak} package speeds things up with parallel downloads, dependency solving, and reproducible installs.

πŸ“¦ pak.r-lib.org

#RStats

57 12 1 0
5 months ago

enough women to make a line πŸ˜„

2 0 0 0