fastverse-package: The fastverse

fastverse-packageR Documentation

The fastverse

Description

The fastverse is an extensible suite of R packages, developed independently by various people, that jointly contribute to the objectives of:

  1. Speeding up R through heavy use of compiled code (C, C++, Fortran)

  2. Enabling more complex statistical and data manipulation operations in R

  3. 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)

fastverse_conflicts()

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_child()

fastverse Options

  • options(fastverse.quiet = TRUE) will disable all automatic messages (including conflict reporting) when calling library(fastvsers), fastverse_extend, fastverse_update(install = TRUE) and fastverse_install.

  • options(fastverse.styling = FALSE) will disable all styling applied to text printed to the console.

  • options(fastverse.extend = c(...)) can be set before calling library(fastvsers) to extend the fastverse with some packages for the session. The same can be done with the fastverse_extend function after library(fastvsers), which will also populate options("fastverse.extend").

  • options(fastverse.install = TRUE) can be set before library(fastverse) to install any missing packages beforehand. See also fastverse_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.


fastverse documentation built on Sept. 20, 2023, 9:07 a.m.