Im using case_when() quite a lot, case_match() is new to me: https://dplyr.tidyverse.org/reference/case_match.html #rstats #tidyverse
A general vectorised switch() โ€” case_match

case_match() is deprecated. Please use recode_values() and replace_values() instead, which are more powerful, have more intuitive names, and have better safety. In addition to the familiar two-sided formula interface, these functions also have from and to arguments which allow you to incorporate a lookup table into the recoding process. This function allows you to vectorise multiple switch() statements. Each case is evaluated sequentially and the first match for each element determines the corresponding value in the output vector. If no cases match, the .default is used.

Async R is getting a proper memory model. mirai 2.7.0 and mori 0.2.0 are on CRAN, and between them they close the two memory gaps in production async work:

- `daemons(memory = ...)` caps the dispatcher queue in bytes, so a runaway producer can't OOM your session
- `try_mirai()` returns NULL on a full queue instead of blocking โ€“ drop, retry, or propagate backpressure
- mori out of experimental with stable wire format and path-form names

https://opensource.posit.co/blog/2026-05-12_production-async-r/

#rstats #Tidyverse #rshiny

A memory model for production async R: mirai 2.7.0 and mori 0.2.0

Two CRAN releases extend R's foundations for production async: bounded queues and `try_mirai()` in mirai 2.7.0, plus mori 0.2.0 graduating from experimental status.

Posit Open Source