Overview
usedthese is a family of functions to summarise R package & function usage in Quarto documents consistent with knitr’s syntax highlighting:
used_here()
adds a nicely-rendered summary table of usage to a single document;used_there()
harvests and consolidates the tables created above ready for site-wide analysis;used_elsewhere()
harvests tables for opted-in websites to enable analysis of a broader view of usage [Planned];used_where()
finds pages on your website (or opted-in websites) that use a specified function [Planned].
Example Use Case
Each “little project” on the Quarto website quantumjitter.com focuses on a data science technique or machine learning model to analyse real-world data. At the foot of each of these is a quantified view of the R packages and functions used in the associated code. This is achieved by including used_here()
in each Quarto document.
used_there()
scrapes all the tables created by used_here()
to enable a Favourite Things article on how R packages and functions are used across the website.
I personally find this approach makes it easier for me to check for consistency of usage, acknowledge the packages I most need to keep abreast of (or go deeper on), and spot opportunities for updates to the latest and greatest.
When the Tidyverse blog announced changes to dplyr and purrr a quick review of my Favourite Things identified a number of opportunities to try out the exciting new features. For example, dplyr introduced temporary grouping with the .by
argument for mutate and amigos. group_by()
and ungroup()
had been used many times and most of these occurrences could be replaced with the new more concise approach.
There’s a nice additional benefit too. Quarto websites have a search bar. And whilst the results exclude code, they include the contents of the usage table. So, for example, if you search quantumjitter.com for “separate_wider_regex” you can find any project using that function.
Installation
You can install the development version of usedthese from GitHub with:
# install.packages("devtools")
devtools::install_github("cgoo4/usedthese")