rOpenSci News Digest, August 2024
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Dear rOpenSci friends, it’s time for our monthly news roundup!
You can read this post on our blog. Now let’s dive into the activity at and around rOpenSci!
rOpenSci HQ
Community call: Navigating the R ecosystem using R-Universe!
On Tuesday, 24 September 2024 16:00 UTC (no RSVP needed), join us to learn more about R-Universe and how you can use it to improve your R package development workflow.
In this community call, Jeroen Ooms will provide details on what R-Universe is and an update on what you can do with it today. He will also discuss the future of R-Universe and how it can be used to navigate the R ecosystem.
Webinar: Screen Reader Accessible Tools and Resources for Learning and Working with R
Liz Hare and Alican Cagri Gokcek, both rOpenSci Champions will participate in a panel sharing their experiences with screen reader-accessible tools and resources for learning and working with R.
The event is co-organized by rOpenSci and the Boğaziçi University and will be held on September 10.
Blog post series: Two years and twelve projects as Community Manager at rOpenSci
In June 2022 Yani became the Community Manager of rOpenSci. Now she has started a series of blog posts to share 12 projects she was involved in these two years to tell you more about the kind of work and activities a community manager of a technology community of practice does and what she learned in the process.
The series is also available in Spanish.
Our stats on all CRAN packages now updated daily
rOpenSci’s pkgstats package generates summary statistics on R packages.
Our pkgcheck system compares the statistical properties of packages being checked with equivalent properties of all CRAN packages.
We now generate daily updates of our reference database of pkgstats for all CRAN packages, so the pkgcheck output will always be against the current state of CRAN.
The databases are published with the v0.1.6 release of pkgstats, and can be downloaded from there.
Alternatively, to know how “noteworthy” your package is compared to CRAN packages, simply call pkgcheck on your package (perhaps with goodpractice = FALSE
to speed things up by skipping those parts of checks). Then, either print the results directly in the console, or use out <- checks_to_markdown(checks, render = TRUE)
to generate and automatically open a rendered HTML version, where “Statistical Properties” will include the comparison of your package to all current CRAN packages.
The rOpenSci community at upcoming events
Meet rOpenSci team and community members at events in the near future!
-
rOpenSci Software Research Scientist Mark Padgham will be at the RSECon, the Research Software Engineering Conference 2024 in Newcastle, UK from 3rd to 5th September 2024 where he will deliver his talk “rOpenSci Statistical Software Peer Review: The importance and challenge of community engagement”.
-
rOpenSci Director Noam Ross and rOpenSci Lead Infrastructure Engineer Jeroen Ooms will take part in the NumFOCUS Project Summit 2024 on September 5-7, 2024 in Cambridge, Massachusetts, USA. Come to chat if you are around!
-
rOpenSci Community Manager Yanina Bellini Saibene will deliver a keynote talk at BioNT Community Event & CarpentryConnect-Heidelberg 2024, on November 14th in Heidelberg, Germany.
Coworking
Read all about coworking!
Join us for social coworking & office hours monthly on first Tuesdays! Hosted by Steffi LaZerte and various community hosts. Everyone welcome. No RSVP needed. Consult our Events page to find your local time and how to join.
Tuesday, September 3rd, 9:00 Australia Western (01:00 UTC)Cancelled- Tuesday, October 1st, 14h00 Europe Central (12:00 UTC), Theme TBA with cohost TBA and Steffi LaZerte.
And remember, you can always cowork independently on work related to R, work on packages that tend to be neglected, or work on what ever you need to get done!
Software 📦
New packages
The following package recently became a part of our software suite:
- karel, developed by Marcos Prunello: This is the R implementation of Karel the robot, a programming language created by Dr. R. E. Pattis at Stanford University in 1981. Karel is an useful tool to teach introductory concepts about general programming, such as algorithmic decomposition, conditional statements, loops, etc., in an interactive and fun way, by writing programs to make Karel the robot achieve certain tasks in the world she lives in. Originally based on Pascal, Karel was implemented in many languages through these decades, including Java, C++, Ruby and Python. This is the first package implementing Karel in R. It is available on CRAN. It has been reviewed by Veronica Jimenez-Jacinto and Joel Nitta.
Discover more packages, read more about Software Peer Review.
New versions
The following twenty-two packages have had an update since the last newsletter: frictionless (v1.2.0
), gert (v2.1.0
), pkgstats (v0.1.6
), cffr (v1.1.1
), circle (v0.7.3
), crul (v1.5.0
), GSODR (v4.1.1
), historydata (v0.3.0
), lingtypology (v1.1.18v2
), mapscanner (v0.1.1
), nodbi (v0.10.6
), phonfieldwork (v0.0.17
), qualtRics (v3.2.1
), rangr (v1.0.5
), rdataretriever (v.3.1.1
), refsplitr (v1.0.1
), rOPTRAM (v0.3
), stats19 (v3.1.0
), stplanr (v1.2.2
), vcr (v1.6.0
), weatherOz (v1.0.0
), and webmockr (v1.0.0
).
Software Peer Review
There are ten recently closed and active submissions and 6 submissions on hold. Issues are at different stages:
-
One at ‘5/awaiting-reviewer(s)-response’:
- agromet, Índices y Estadísticos Climáticos e Hidrológicos. Submitted by Paola Corrales.
-
Four at ‘4/review(s)-in-awaiting-changes’:
-
chopin, CHOPIN: Computation for Climate and Health research On Parallelized INfrastructure. Submitted by Insang Song.
-
cancerprof, API Client for State Cancer Profiles. Submitted by Brian Park.
-
rsi, Efficiently Retrieve and Process Satellite Imagery. Submitted by Michael Mahoney.
-
rix, Rix: Reproducible Environments with Nix. Submitted by Bruno Rodrigues.
-
-
Three at ‘3/reviewer(s)-assigned’:
-
eDNAjoint, Joint Modeling of Traditional and Environmental DNA Survey Data. Submitted by Abigail Keller.
-
sits, Satellite Image Time Series Analysis for Earth Observation Data Cubes. Submitted by Gilberto Camara.
-
fwildclusterboot, Fast Wild Cluster Bootstrap Inference for Linear Models. Submitted by Alexander Fischer. (Stats).
-
-
One at ‘2/seeking-reviewer(s)’:
- QuadratiK, A Collection of Methods Using Kernel-Based Quadratic Distances for. Submitted by Giovanni Saraceno. (Stats).
-
One at ‘1/editor-checks’:
- gigs, Assess Fetal, Newborn, and Child Growth with International Standards. Submitted by Simon Parker. (Stats).
Find out more about Software Peer Review and how to get involved.
On the blog
-
Git Tricks for Working with Large Repositories by Mauro Lepore.
git clone
isn’t always the right tool. Other languages: Trucos de Git para trabajar con repositorios grandes (es). -
My Experience With Long Term Maintenance Of An R Package by Vincent van Hees. I discuss various strategies for package maintenance, drawing on my experience with the GGIR package, and explore how funding, community involvement, and scope management can help ensure continued success.
Calls for contributions
Calls for maintainers
If you’re interested in maintaining any of the R packages below, you might enjoy reading our blog post What Does It Mean to Maintain a Package?.
-
medrxivr, access and search MedRxiv and BioRxiv preprint data. Issue for volunteering.
-
USAboundaries (and USAboundariesdata), historical and contemporary boundaries of the United States of America . Issue for volunteering.
-
historydata, datasets for historians. Issue for volunteering.
Calls for contributions
Also refer to our help wanted page – before opening a PR, we recommend asking in the issue whether help is still needed.
Package development corner
Playing on the same team as your dependency
We recently re-shared the older tidyverse post “Playing on the same team as your dependency” by Thomas Lin Pedersen.
A further tip would be to make it easier for the maintainer of the dependency to submit patches to your package if needed, by listing the link to the source (GitHub or GitLab repository for instance) in the URL field of DESCRIPTION
.
Creating the update for you is easier on the maintainer of the dependency than sending you an email with code inside.
Update your pkgdown navbar configuration if needed
If your pkgdown navbar configuration does not explicitly mentions “search” as a component, your website will not include a search bar in its navbar. This is due to a fix in how pkgdown handles the search component, but from your perspective it might well look like a bug, so check your pkgdown configuration!
If you maintain an rOpenSci package, you might have already gotten a pull request from the rotemplate team. 😉
Example of a fix, another example that also updates the navbar config syntax.
Another IDE to try out?
Remember Athanasia Mo Mowinckel’s post about the IDEs she uses? She wrote a follow-up about the new IDE by Posit, Positron.
Other new IDE developments include Zed AI.
Find and fix problems in R code automatically!
Etienne Bacher created an enticing R package called flint, that finds and fixes lints in R code. Imagine lintr being as active as styler instead of just telling you what to amend. 😁 Note that at the moment, flint does not have as many rules as lintr.
The existence of flint is yet another benefit from Davis Vaughan’s building an R grammar for tree-sitter, since flint builds on Etienne Bacher’s astgrepr, that binds the Rust ast-grep crate, that in turns… uses tree-sitter!
Create content for help pages on the fly
Did you know that you can create dynamic content for the help page of a function in your R package using #' \Sexpr[results=rd,stage=render]{<some-code>}
?
The code can even call an internal function!
Minimal example.
Thanks Rich FitzJohn for sharing about this idea that he uses in his stevedore package.
Relatedly, if you want to provide different content in the manual page depending on the OS, that’s also possible.
If you’re taking it a bit further and want to change what ?foo
returns, you might be interested in these two strategies (but be warned, these are not necessarily CRAN-compatible!):
-
Elio Campitelli’s rhelpi18n package currently overwrites the
.getHelpFile()
function to make it possible to get a manual page in the correct language. -
The “shims” created by pkgload that allow in development documentation pages to be loaded.
Last words
Thanks for reading! If you want to get involved with rOpenSci, check out our Contributing Guide that can help direct you to the right place, whether you want to make code contributions, non-code contributions, or contribute in other ways like sharing use cases. You can also support our work through donations.
If you haven’t subscribed to our newsletter yet, you can do so via a form. Until it’s time for our next newsletter, you can keep in touch with us via our website and Mastodon account.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.