/extraoperators

R package with binary operators to speed common tasks

Primary LanguageR

extraoperators

CRAN_status R-CMD-check codecov lifecycle

An R package with operators to help speed up everyday tasks.

Installation

To get the latest development version, use:

#install.packages("devtools")
devtools::install_github("JWiley/extraoperators")

Otherwise to get from CRAN use:

install.packages("extraoperators")

Overview

The table below summarizes what this package provides. Fundamentally it provides or expands on 14 different logical operators, which can be accessed on their own to return a logical vector, but also prefixed by ? (which) to return the indices that are TRUE or prefixed by s (subset) to return only those values that are TRUE or prefixed by a (all) to return a single logical value, are ALL true? An entire all logical comparison can be prefixed by ! to generate a NONE evaluation.

Operator What it does Which? Subset All
== Are values / vectors equal %?==% %s==% %a==%
!= Are values / vector NOT equal %?!=% %s!=% %a!=%
%l% Less than %?l% %sl% %al%
%le% Less than or equal %?le% %sle% %ale%
%g% Greater than %?g% %sg% %ag%
%ge% Greater than or equal %?ge% %sge% %age%
%gl% Greater than AND less than %?gl% %sgl% %agl%
%gel% Greater than or equal AND less than %?gel% %sgel% %agel%
%gle% Greater than AND less than or equal %?gle% %sgle% %agle%
%gele% Greater than or equal AND less than or equal %?gele% %sgele% %agele%
%in% In %?in% %sin% %ain%
%!in% OR %nin% Not in %?!in% OR %?nin% %s!in% OR %snin% %a!in% OR %anin%
%c% Chain operations on the RHS together %?c% %sc% %ac%
%e% Set operator, to use set notation %?e% %se% %ae%
%grepl% does text match a regular expression %?grepl% %sgrepl% %agrepl%
%!grepl% does text NOT match a regular expression %?!grepl% %s!grepl% %a!grepl%

Using these operators, you can accomplish many different tasks by just remembering the additional prefixes: ? for which(), a for all() and s for subset(). While simple, this can save quite a few keystrokes and make various logical comparisons less convoluted.