Package implementing additional infix operators for R.
Implemented operators work with 4 different value types:
sets, intervals, regular
expressions, and counts.
And provide 3 distinct functionalities: detection,
subsetting, and replacement.
 
For more examples please see the vignette.
For a complete list of available operators consult the tables below.
All operators have the same form composed of two distinct parts:
%<operation><type>%.
[operation] specifies the performed functionality and
can be one of in, out, [in,
[out.[type] specifies the type of operation and can be one
of {}, [], (), [),
(], ~, ~p, ~f,
#.| Form | Description | Call | 
|---|---|---|
| %in{}% | which elements are inside a set | x %in{}% set | 
| %in[]% | which elements are inside a closed interval | x %in[]% interval | 
| %in()% | which elements are inside an open interval | x %in()% interval | 
| %in[)% | which elements are inside an interval open on the right | x %in[)% interval | 
| %in(]% | which elements are inside an interval open on the left | x %in(]% interval | 
| %in~% | which elements match a regular expression | x %in~% pattern | 
| %in~p% | which elements match a regular perl expression | x %in~p% pattern | 
| %in~f% | which elements match a regular fixed expression | x %in~f% pattern | 
| %in#% | which elements occur a specified number of times | x %in#% count | 
| %out% | which elements are outside a set (same as ! x %in% y) | x %out% set | 
| %out{}% | which elements are outside a set | x %out{}% set | 
| %out[]% | which elements are outside a closed interval | x %out[]% interval | 
| %out()% | which elements are outside an open interval | x %out()% interval | 
| %out[)% | which elements are outside an interval open on the right | x %out[)% interval | 
| %out(]% | which elements are outside an interval open on the left | x %out(]% interval | 
| %out~% | which elements do not match a regular expression | x %out~% pattern | 
| %out~p% | which elements do not match a regular perl expression | x %out~p% pattern | 
| %out~f% | which elements do not match a regular fixed expression | x %out~f% pattern | 
| %out#% | which elements occur other than a specified number of times | x %out#% count | 
| Form | Description | Call | 
|---|---|---|
| %[==% | select elements equal to the provided value | x %[==% element | 
| %[!=% | select elements not equal to the provided value | x %[!=% element | 
| %[>% | select elements greater than the provided value | x %[>% number | 
| %[<% | select elements lower than the provided value | x %[<% number | 
| %[>=% | select elements greater or equal to the provided value | x %[>=% number | 
| %[<=% | select elements lower or equal to the provided value | x %[<=% number | 
| %[in% | select elements inside a set | x %[in% set | 
| %[in{}% | select elements inside a set | x %[in{}% set | 
| %[in[]% | select elements inside a closed interval | x %[in[]% interval | 
| %[in()% | select elements inside an open interval | x %[in()% interval | 
| %[in[)% | select elements inside an interval open on the right | x %[in[)% interval | 
| %[in(]% | select elements inside an interval open on the left | x %[in(]% interval | 
| %[in~% | select elements matching a regular expression | x %[in~% pattern | 
| %[in~p% | select elements matching a regular perl expression | x %[in~p% pattern | 
| %[in~f% | select elements matching a regular fixed expression | x %[in~f% pattern | 
| %[in#% | select elements that occur a specified number of times | x %[in#% count | 
| %[out% | select elements outside a set | x %[out%  set | 
| %[out{}% | select elements outside a set | x %[out{}%  set | 
| %[out[]% | select elements outside a closed interval | x %[out[]% interval | 
| %[out()% | select elements outside an open interval | x %[out()% interval | 
| %[out[)% | select elements outside an interval open on the right | x %[out[)% interval | 
| %[out(]% | select elements outside an interval open on the left | x %[out(]% interval | 
| %[out~% | select elements not matching a regular expression | x %[out~% pattern | 
| %[out~p% | select elements not matching a regular perl expression | x %[out~p% pattern | 
| %[out~f% | select elements not matching a regular fixed expression | x %[out~f% pattern | 
| %[out#% | select elements that occur other than specified number of times | x %[out% count | 
| Form | Description | Call | 
|---|---|---|
| ==<- | change elements equal to the provided value | x == element <- value | 
| !=<- | change elements not equal to the provided value | x != element <- value | 
| ><- | change elements greater than the provided value | x > number <- value | 
| <<- | change elements lower than the provided value | x < number <- value | 
| >=<- | change elements greater or equal to the provided value | x >= number <- value | 
| <=<- | change elements lower or equal to the provided value | x <= number <- value | 
| %in%<- | change elements inside a set | x %in% set <- value | 
| %in{}%<- | change elements inside a set | x %in{}% set <- value | 
| %in[]%<- | change elements inside a closed interval | x %in[]% interval <- value | 
| %in()%<- | change elements inside an open interval | x %in()% interval <- value | 
| %in[)%<- | change elements inside an interval open on the right | x %in[)% interval <- value | 
| %in(]%<- | change elements inside an interval open on the left | x %in(]% interval <- value | 
| %in~%<- | change elements matching a regular expression | x %in~% pattern <- value | 
| %in~p%<- | change elements matching a regular perl expression | x %in~p% pattern <- value | 
| %in~f%<- | change elements matching a regular fixed expression | x %in~f% pattern <- value | 
| %in#%<- | change elements that occur specified number of times | x %in#% count <- value | 
| %out%<- | change elements outside a set | x %out% set <- value | 
| %out{}%<- | change elements outside a set | x %out{}% set <- value | 
| %out[]%<- | change elements outside a closed interval | x %out[]% interval <- value | 
| %out()%<- | change elements outside an open interval | x %out()% interval <- value | 
| %out[)%<- | change elements outside an interval open on the right | x %out[)% interval <- value | 
| %out(]%<- | change elements outside an interval open on the left | x %out(]% interval <- value | 
| %out~%<- | change elements not matching a regular expression | x %out~% pattern <- value | 
| %out~p%<- | change elements not matching a regular perl expression | x %out~p% pattern <- value | 
| %out~f%<- | change elements not matching a regular fixed expression | x %out~f% pattern <- value | 
| %out#%<- | change elements that occur other than specified number of times | x %out#% count <- value | 
To give an assignment counterpart to < we had to
overload the <<- operator, which explains the message
when attaching the package. This doesn’t affect the behavior of the
<<- assignments.
Detection operators should be seen as an extension of the standard
infix operators implemented in R (i.e. ==,
>, etc). For this reason the implemented operators
differ from standard %in% and behave more like
== on data.frames and objects with
NA values.
Subsetting and replacement operators are wrappers around detection
operators.
Subsetting: x[ x %in{}% set].
Replacement: replace(x, x %in{}% set, value).
Other similar packages you might be interested in.