Happy Friday everyone! Here's some news from the world of R this week:
- Hello Positron: Julia Silge has released a video introducing Positron, the new IDE from Posit which is a fork of VSCode. In the screencast Julia shows the key parts of the IDE using a TidyTuesday dataset on orcas. If you've been wondering about Positron since it went into public beta then check out the video!
- Give me data: Yohann Mansiaux has written a blog post detailing the ways you can include data in your R package, and why you should do so! This is an often overlooked element of R package development and Yohann gives a good overview of the topic.
- Pharmers Unite: R/Pharma 2024 starts next week and they have announced the 19 free workshops that will be delivered over the course of the event. These workshops will be recorded and released on Youtube at a later point. I highly recommend you check out the list as many of them will be invaluable to all R developers, not just those in pharma. You can also still register for the event here for free!
- Right in the monads: Jonathan Carroll has published a blog post exploring the world of monads! The complex statistical concept is very important in computing and Jonathan provides an accessible introduction with examples in R, as well as introducing a new {monads} package to help with exploring the topic.
- Quarto to go: Pete Jones has written a blog post explaining how to resolve a specific but potentially very irritating issue with rendering Quarto outputs to a different folder than the source directory. If you've ever tried to render to a specific output location and not been happy with the results, give Pete's post a read!
- Fun fact:?of the more than 14,000 packages on CRAN that depend on a minimum R version, v3.5.0 is the most common with nearly 3,000 packages requiring it. Additionally, 3.x.x is the most common required major version (63% of the 14k) and three packages have a minimum R version requirement of 0.x!
library(dplyr)
min_r <- tools::CRAN_package_db() |>
mutate(min_v = stringr::str_extract(Depends, "(?<=R \\(>= )(.*?)(?=\\))")) |>
filter(!is.na(min_v))
min_r |>
count(min_v) |>
slice_max(n, n = 3)
#> min_v n
#> 1 3.5.0 2998
#> 2 2.10 2071
#> 3 3.0.0 674
min_r |>
mutate(maj_v = stringr::str_extract(min_v, "^\\d+")) |>
count(maj_v)
#> maj_v n
#> 1 0 3
#> 2 1 69
#> 3 2 3077
#> 4 3 8848
#> 5 4 2044
- {openxlsx2) v1.10 bug fixes and some new features for the 'swiss knife for working with openxml formats'.
- {shiny.telemetry} v0.3.1 - Appsilon's shiny logging package gets a new log_errors method and some bug fixes.
I post updates like this every week so if you're interested feel free to follow. Comment below if there's something interesting you found out this week too!