vctrs (version 0.0.0.9000)

vec_grp: vctr group generics

Description

These generics are inspired by the S3 groupGeneric functions, but use vec_ptype() and vec_cast() to ensure that all inputs are of the same type. They are also finer grained, additionally dividing up groups by arity and return type. vec_generic_call() provides a convenient way to call the default method of internal generics; this allows you to use existing base R behaviour where possible.

Usage

vec_grp_compare(generic, x, y)

vec_grp_logical(generic, x, y)

vec_grp_unary(generic, x)

vec_grp_numeric(generic, x, y)

vec_grp_summary(generic, x, na.rm = TRUE)

vec_generic_call(generic, x, y, ...)

Arguments

generic

Name of generic function

x, y

Vectors. x and y will always have the same ptype.

na.rm

Remove missing values?

...

Additional arguments passed to generic.

Default methods

vec_grp_compare() and vec_grp_logical() call the internal method and return a logical vector. vec_grp_unary(), vec_grp_numeric(), and vec_grp_summary() will call the internal method, and then recast the output to the same ptype as x.

Details

vctrs provides five group generics:

  • vec_grp_compare(): ==, !=, <, <=, >=, >

  • vec_grp_logical(): &, |, (unary) !

  • vec_grp_unary(): unary + and -.

  • vec_grp_numeric(): +, -, *, /, ^, %%, %/%

  • vec_grp_summary(): all(), any(), sum(), prod(), min(), max(), range()`

If your vector is number-y you will generally implement vec_grp_unary(), vec_grp_numeric(), and vec_grp_summary(). If your vector is truth-y, you will implement vec_grp_logical()