MyNixOS website logo
Description

Common S3 Generics not Provided by Base R Methods Related to Model Fitting.

In order to reduce potential package dependencies and conflicts, generics provides a number of commonly used S3 generics.

generics

R-CMD-check Codecov testcoverage

generics is designed to help package authors reduce dependencies by providing a set of generic methods that can be imported. For example, if a package author wanted to include a tidy method for their object, they would have to import the broom package to do so. This would work but would potentially increase the number of package dependencies required to install and/or test the package.

Installation

To install generics from CRAN, use:

install.packages("generics")

To install the development version, use:

install.packages("devtools")
devtools::install_github("r-lib/generics")

Usage

generics is a simple, lightweight package that contains S3 generics to be used by other packages. Some examples are:

library(generics)
#> 
#> Attaching package: 'generics'
#> The following objects are masked from 'package:base':
#> 
#>     as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
#>     setequal, union

fit
#> function(object, ...) {
#>   UseMethod("fit")
#> }
#> <bytecode: 0x7fe84f9e2620>
#> <environment: namespace:generics>

tidy
#> function(x, ...) {
#>   UseMethod("tidy")
#> }
#> <bytecode: 0x7fe85854b2d8>
#> <environment: namespace:generics>

To use generics with your package, we recommend that you import and re-export the generic(s) of interest. For example, if you want to provide a method for the S3 explain() method, you’d using the following roxygen2 code:

#' @importFrom generics explain
#' @export
generics::explain

As an example, the recipes package defines a number of tidy() S3 methods by importing this package (whereas it previously depended on broom).

Documentation

When searching for help on a method that is exported from generics by one or more packages, using ?method will show entries for all exported methods. If the version from generics is selected, the Methods section dynamically lists all specific methods exported by any loaded packages.

Metadata

Version

0.1.3

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows