The fastverse is an extensible suite of R packages, developed independently by various people, that jointly contribute to the objectives of:
Speeding up R through heavy use of compiled code (C, C++, Fortran)
Enabling more complex statistical and data manipulation operations in R
Reducing the number of dependencies required for advanced computing in R
Inspired by the tidyverse
package, the fastverse
package is a flexible package loader and manager
that allows users to put together their own 'verses' of packages and load them with library(fastverse)
.
fastverse
installs 4 core packages (data.table
, collapse
, kit
and magrittr
) that
provide native C/C++ code of proven quality, work well together, and enable complex statistical computing and data manipulation - with only Rcpp
as an additional dependency.
fastverse
also allows users to freely (and permanently) extend or reduce the number of packages in the fastverse.
An overview of high-performing packages for various common tasks is provided in the README file.
An overview of the package and the different ways to extend the fastverse is provided in the vignette.
Functions in the fastverse
Package
Functions to extend or reduce the number of packages in the fastverse - either for the session or permanently - and to restore defaults.
fastverse_extend()
fastverse_detach()
fastverse_reset()
Function to display conflicts for fastverse packages (or any other attached packages)
Function to update fastverse packages (and dependencies) and install (missing) packages
fastverse_update()
fastverse_install()
Utilities to retrieve the names of fastverse packages (and dependencies), their update status, and produce a situation report
fastverse_packages()
fastverse_deps()
fastverse_sitrep()
Function to create a fully separate extensible meta-package/verse like fastverse
fastverse Options
options(fastverse.quiet = TRUE)
will disable all automatic messages (including conflict reporting) when callinglibrary(fastvsers)
,fastverse_extend
,fastverse_update(install = TRUE)
andfastverse_install
.options(fastverse.styling = FALSE)
will disable all styling applied to text printed to the console.options(fastverse.extend = c(...))
can be set before callinglibrary(fastvsers)
to extend the fastverse with some packages for the session. The same can be done with thefastverse_extend
function afterlibrary(fastvsers)
, which will also populateoptions("fastverse.extend")
.options(fastverse.install = TRUE)
can be set beforelibrary(fastverse)
to install any missing packages beforehand. See alsofastverse_install
.
fastverse Harmonizations
There are 3 internal clashes between collapse::funique
and kit::funique
, collapse::fduplicated
and kit::fduplicated
, and collapse::fdroplevels
and data.table::fdroplevels
.
The collapse versions take precedence in all cases as they provide greater performance.