Friday, February 17, 2023 From rOpenSci (https://ropensci.org/blog/2023/02/17/ropensci-news-digest-february-2023/). Except where otherwise noted, content on this site is licensed under the CC-BY license.
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!
We have changed the preferred git repo name where you host your packages.json
registry for R-universe, see our post New preferred repo name for r-universe registries.
We now recommend to use the full lowercase name of your R-universe domain as the repo name, for instance TileDB-Inc/tiledb-inc.r-universe.dev
.
Speaking of domains and URLs, we have improved the URL schema for the r-universe.dev front-end to make it even easier to find and share a link to an R package, article, API, or other resource.
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, Mar 7th, 9:00 Australian Western / 01:00 UTC “Checking data with naniar, visdat, assertr, and skimr” Hosted by community host Nick Tierney and Steffi LaZerte
Tuesday, Apr 4th, 14:00 European Central / 12:00 UTC “Working with taxonomic lists in R” Hosted by community host Miguel Alvarez 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!
On January 31 we enjoyed a Community Call about the targets package.
As the name of the call indicates, we had three presentations where the speakers shared their experiences putting targets into action.
Eric Scott started the panel, sharing his attempt to make it easy to set up targets to harness the power of HPC from the comfort of an RStudio window. Next, Joel Nitta talked about using targets for bioinformatics pipelines, and finally Will Landau demonstrated how to debug {targets} pipelines.
You can see the video and access to all the material (slides, code, and shared notes with transcription and Q&A) on the community call webpage.
What would YOU like to hear about in an rOpenSci Community Call?, let us know.
We started the 2023 activities of our champions program with two kick-off meetings.
During these meetings, mentors and champions introduced themselves, shared where they are from, what their project is about, and something that excites them about the program. We also went over the logistics of the program, the potential agenda, and scheduled activities.
We have a diverse group of people from Argentina, Brazil, Peru, Nigeria, Turkey, Australia, France, Norway, Saudi Arabia, the United States, and the United Kingdom.
We’re excited to share that three of our champions will develop a new package, four will prepare and submit their package to the review process, and three will become rOpenSci reviewers. Mentors will work with their mentees throughout the process of executing their projects.
It was lovely to see the participants’ enthusiasm to learn, share, execute their projects, and give back to the community!
Stay tuned for more information about our mentors, champions, and their projects!
The following package recently became a part of our software suite:
Discover more packages, read more about Software Peer Review.
The following sixteen packages have had an update since the last newsletter: cffr (v0.4.1
), datefixR (v1.4.1
), dynamite (1.2.0
), excluder (v0.5.0
), fingertipsR (v1.0.10
), gittargets (0.0.6
), hoardr (v0.5.3
), ijtiff (v2.3.0
), opentripplanner (v0.5.1
), osmdata (v0.2.0
), readODS (cran_v1.8
), ReLTER (2.1.1
), rerddap (v1.0.2
), ruODK (v1.4.0
), terrainr (v0.7.4
), and visdat (v0.6.0
).
There are fourteen recently closed and active submissions and 2 submissions on hold. Issues are at different stages:
Two at ‘6/approved’:
stochLAB, Stochastic Collision Risk Model. Submitted by Grant. (Stats).
rb3, Download and Parse Public Data Released by B3 Exchange. Submitted by Marcelo S. Perlin.
Five at ‘4/review(s)-in-awaiting-changes’:
openalexR, Getting Bibliographic Records from OpenAlex Database Using DSL. Submitted by Trang Le.
wmm, World Magnetic Model. Submitted by Will Frierson.
octolog, Better Github Action Logging. Submitted by Jacob Wujciak-Jens.
tsbox, Class-Agnostic Time Series. Submitted by Christoph Sax. (Stats).
healthdatacsv, Access data in the healthdata.gov catalog. Submitted by iecastro.
Four at ‘3/reviewer(s)-assigned’:
waywiser, Ergonomic Methods for Assessing Spatial Models. Submitted by Michael Mahoney. (Stats).
predictNMB, Evaluate Clinical Prediction Models by Net Monetary Benefit. Submitted by Rex Parsons. (Stats).
concstats, Market Structure, Concentration and Inequality Measures. Submitted by Andreas Schneider.
dfms, Dynamic Factor Models. Submitted by Sebastian Krantz.
Two at ‘2/seeking-reviewer(s)’:
ohun, Optimizing Acoustic Signal Detection. Submitted by Marcelo Araya-Salas.
bssm, Bayesian Inference of Non-Linear and Non-Gaussian State Space. Submitted by Jouni Helske. (Stats).
One at ‘1/editor-checks’:
Find out more about Software Peer Review and how to get involved.
Improved permanent URL schema for r-universe.dev by Jeroen Ooms. We have improved the URL schema for the r-universe.dev front-end to make it even easier to find and share a link to an R package, article, API, or other resource.
New preferred repo name for r-universe registries by Jeroen Ooms. We have changed the preferred git repo name where you host your packages.json
registry for r-universe.
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? (or listening to its discussion on the R Weekly highlights podcast hosted by Eric Nantz and Mike Thomas)!
rtweet, that interfaces Twitter API, is looking for a co-maintainer.
Refer to our recent blog post to identify other packages where help is especially wished for!
Some useful tips for R package developers. 👀
CRAN requires CITATION files to be declared as bibentry
items, and not in the previously-accepted form of citEntry()
.
As an example see the dynamite CITATION file which refers to the R manual as well as other associated publications.
@family
tagIn a package with more than a few help topics, reference organization is key to the user’s experience.
Alphabetical order is rarely informative. 😉
A powerful tool for organizing both the local and pkgdown reference is the @family
tag.
#' @family datawrangling
man/roxygen/meta.R
:list(
rd_family_title = list(datawrangling = "Data wrangling functionality")
)
has_concept()
and lacks_concepts()
.invisible()
needs return()
The official man entry for invisible()
says that it:
Return[s] a (temporarily) invisible copy of an object"
This might make it sound like invisible()
directly implements an active return function, which it does not. While not strictly wrong, this statement is potentially misleading, especially followed as it is by the Details:
This function can be useful when it is desired to have functions return values which can be assigned, but which do not print when they are not assigned.
invisible()
will only directly return from a function when it is wrapped in an active return()
statement: return(invisible())
; or when it’s the very last line of the function code.
This is all very nicely explained by Peter Meissner on Stack Overflow.
A recent R-hub blog post explains a pattern for testing your package’s behavior in for instance the absence of an internet connection, without turning off wifi.
It consists in using an early return in a helper function based on the presence of a specifically named environment variable (MYPKG.TEST.NOINTERNET
) and on setting that environment variable locally in a test through withr::local_envvar()
.
Another R-hub blog post presents tips for writing as few comments as possible, while making the code as readable as possible.
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.
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.