The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

dverse

R-CMD-check Codecov test coverage Lifecycle: experimental CRAN status

The goal of dverse is to document a universe. It creates a data frame containing the metadata associated with the documentation of a collection of R packages. It allows for linking topic names to their corresponding documentation online.

If you have a meta-package, dverse helps you to create a comprehensive reference for its website.

Installation

Install from CRAN:

install.packages("dverse")

or get a development version from GitHub:

# install.packages("pak")
pak::pak("maurolepore/dverse")

Motivation

The Tidyverse popularized the idea of a “universe of packages.” The typical universe has a meta-package that centralizes access to functions and data across all its packages. For example, with library(tidyverse) the tidyverse meta-package centralizes access to the functions in dplyr, ggplot2, and several other packages in the Tidyverse universe.

However, meta-packages typically don’t centralize documentation. For example, the tidyverse website only shows the documentation for the tidyverse meta-package itself but does not show the documentation for dplyr, ggplot2, and other packages in the Tidyverse.

The dverse package solves this problem. It creates a data frame containing the metadata associated with the documentation of any set of packages. This data frame can be easily used to generate the universe-wide reference for the meta-package website, for example using pkgdown.

Example

document_universe() creates a data frame with documentation metadata of one or more packages.

library(glue)
library(tibble)

packages <- c("glue", "tibble")
url_template <- "https://{package}.tidyverse.org/reference/{topic}.html"
docs <- dverse::document_universe(packages, url_template)

docs
#> # A tibble: 46 × 7
#>    topic                               alias title concept type  keyword package
#>    <chr>                               <chr> <chr> <chr>   <chr> <chr>   <chr>  
#>  1 <a href=https://tibble.tidyverse.o… add_… Add … additi… help  <NA>    tibble 
#>  2 <a href=https://tibble.tidyverse.o… add_… Add … additi… help  <NA>    tibble 
#>  3 <a href=https://glue.tidyverse.org… as_g… Coer… <NA>    help  <NA>    glue   
#>  4 <a href=https://tibble.tidyverse.o… as_t… Coer… <NA>    help  <NA>    tibble 
#>  5 <a href=https://tibble.tidyverse.o… char… Form… vector… help  <NA>    tibble 
#>  6 <a href=https://tibble.tidyverse.o… depr… Depr… <NA>    help  intern… tibble 
#>  7 digits                              digi… Comp… <NA>    vign… <NA>    tibble 
#>  8 <a href=https://tibble.tidyverse.o… enfr… Conv… <NA>    help  <NA>    tibble 
#>  9 engines                             engi… Cust… <NA>    vign… <NA>    glue   
#> 10 extending                           exte… Exte… <NA>    vign… <NA>    tibble 
#> # ℹ 36 more rows

knitr::kable() turns the URLs into clickable links.

knitr::kable(head(docs, 3))
topic alias title concept type keyword package
add_column add_column Add columns to a data frame addition help NA tibble
add_row add_row, add_case Add rows to a data frame addition help NA tibble
as_glue as_glue Coerce object to glue NA help NA glue

DT::datatabe() also provides a search box. See Get started.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.