Davis Vaughan

Davis Vaughan

@davisvaughan.bsky.social

Building tools for R users, these days mostly in Rust πŸ¦€ https://blog.davisvaughan.com https://github.com/DavisVaughan

2,984 Followers 211 Following 231 Posts Joined Nov 2023
1 day ago

So very exciting and well deserved!

11 3 0 0
5 days ago

i live 20 minutes down the road, just hmu next time πŸ˜‚

1 0 1 0
2 weeks ago

Literally no one:
Like absolutely no one at all:

Me: `uvx --from air-formatter air format path/to/script.R`

14 1 2 0
2 weeks ago
I miss thinking hard.

www.jernesto.com/articles/thi...

2 0 1 0
2 weeks ago

Come for Isabella's puns πŸ˜‚ stay for the peek behind the curtain of how functions get added to or deprecated from #tidyverse packages like #dplyr πŸ‘€ from @davisvaughan.bsky.social himself

Tomorrow! Tues 12pm ET! Register at pos.it/dslab if you haven't already πŸ‘πŸ» and we'll see you there #databs #rstats

16 3 0 0
2 weeks ago
Hello, dplyr 1.2.0! Join us with Davis Vaughan to explore new functions! Tuesday, Feb 24 at 12pm ET pos.it/dslab

I'm beyond excited for tomorrow's Data Science Lab with @davisvaughan.bsky.social!

dplyr 1.2.0 is now out. There are many new functions in this release, and you will see them in action, live. You won't want to `filter_out()` this info πŸ˜‰

Join us, we can't `replace_*` you 🧑 pos.it/dslab

31 7 3 1
3 weeks ago
plt.close() triggers "Error rendering plot to 'Auto' size: RPC timed out..." Β· Issue #7915 Β· posit-dev/positron System details: Positron and OS details: Positron Version: 2025.06.0 (Universal) build 146 Code - OSS Version: 1.100.0 Commit: 5d50f36 Date: 2025-05-27T03:33:41.580Z Electron: 34.5.1 Chromium: 132....

Thanks! Has something to do with the plt.close(). We've got it tracked here and will bump to resolve for the next release github.com/posit-dev/po...

1 0 0 0
3 weeks ago

never have i ever desired this blasphemy

df <- data.frame(x = 1:2, y = 3:4)

cols <- "x"
df[, cols]

cols <- c("x", "y")
df[, cols]

5 0 0 0
3 weeks ago

In other words - If the author doesn't care about their own content, why should I?

0 0 0 0
3 weeks ago

We use the jupyter protocol to power our console/plot pane so im a bit surprised it didn't work. We should support display_data and update_display_data. If you have a reprex that consistently fails then we'd happily take an issue for it!

0 0 1 0
3 weeks ago

Nice!! Very Positron/RStudio-esque! Positron's Statement Range (CMD+Enter) feature works similarly, the R backend for it also uses tree-sitter like this. It's all wired up as a custom LSP Request github.com/posit-dev/ar...

2 0 1 0
3 weeks ago
Preview
posit::glimpse() Newsletter – February 2026 - Posit This edition covers major updates from Posit, including new versions of ggplot2, ellmer, and dplyr.

The newest edition of posit::glimpse() is here! πŸš€

Read a roundup of major #RStats & #Python updates: ggplot2 4.0.0, dplyr 1.2.0, ellmer 0.4.0, Positron native Jupyter Notebook support , and more.

🎟️ Plus, registration for posit::conf(2026) is officially OPEN!

Find it here: posit.co/blog/posit-g...

11 8 0 0
3 weeks ago

see also bsky.app/profile/davi...

2 0 0 0
3 weeks ago

screaming this from the rooftops

15 2 1 0
1 month ago
Post image

#rstats filter_out is good

33 8 1 0
1 month ago

In the end that's where 90% of the effort went!

0 0 0 0
1 month ago

That's a crazy improvement for such a frequently used function

1 2 0 0
1 month ago

And for package developers, an extra special gift!

The low dependency vctrs package now has:

- vec_if_else()
- vec_case_when()
- vec_replace_when()
- vec_recode_values()
- vec_replace_values()

Use these in your packages when you want the consistency of the tidyverse without a dplyr dependency!

3 1 2 0
1 month ago
Preview
`dplyr::if_else()` and `dplyr::case_when()` are up to 30x faster dplyr 1.2.0 comes with much faster and more memory efficient `if_else()` and `case_when()` functions!

Last week we released dplyr 1.2.0, but we left off something VERY important πŸ™‚

`dplyr::if_else()` and `dplyr::case_when()` are now up to 30x faster and use 10x less memory!

We dive into how we achieved these numbers in this new #rstats post!

tidyverse.org/blog/2026/02...

127 21 4 1
1 month ago
Preview
davisvaughan's comment on "dplyr 1.2.0 released - adds filter_out, recode_values, replace_values, replace_when, etc." Explore this conversation and more from the rstats community

With character vectors maybe, but if you use any types besides character/numeric then that simple approach no longer works. recode_values() works with any type! Plus I think the added safety of `unmatched` is pretty meaningful! www.reddit.com/r/rstats/com...

4 0 0 0
1 month ago

Being able to use a lookup table & just use "from" & "to" language like this is SUCH a wonderfully change for me when recoding values πŸ₯Ή #dplyr has always felt conversational to me, & now we can finally use it to say "recode this variable from this to that" without typing a long case_when #rstats

56 8 4 0
1 month ago

Really great supplemental post for dplyr 1.2.0 πŸ™‚

7 0 0 0
1 month ago
Preview
tidyverse/dplyr dplyr: A grammar of data manipulation. Contribute to tidyverse/dplyr development by creating an account on GitHub.

Feel free to open an issue with the reprex github.com/tidyverse/dp...

1 0 1 0
1 month ago

SORRY πŸ˜‚πŸ˜‚πŸ˜‚

1 0 0 0
1 month ago

ahh so this is what Kamala's announcement was about

72 6 3 0
1 month ago

In the end, we view `filter_out()` as a "variant" of the core verb `filter()`, just like how `slice_head()` is a "variant" of the core verb `slice()`. That seemed to require the smallest amount of mental adjustment, and doesn't require teachers to completely rewrite their presentations.

0 0 0 0
1 month ago

Also, I don't think I've ever heard someone say they "filter in these rows". I think it would have been `filter_for()` and `filter_out()`, i.e. "filter for these rows of interest" and "filter out those rows"

0 0 1 0
1 month ago

We had a lot of discussion about alternate `filter()` names, but decided that the cons greatly outweigh any pros github.com/tidyverse/ti...

1 0 1 0
1 month ago
Etienne Bacher: Jarl 0.4.0 Find unreachable code, ignore diagnostics, show summary statistics of diagnostics, and more.

#rstats I'm very happy to announce Jarl 0.4.0!

Jarl is a very fast R linter, written in Rust. This release brings lots of improvements and fixes.

See the blog post: www.etiennebacher.com/posts/2026-0...

And the full changelog: jarl.etiennebacher.com/changelog

🧡 to highlight some features below

26 10 3 2
1 month ago

If they'd only done half these changes it already would've been a huge boost… This really is an amazing update.

2 1 0 0