Small, friendly operators and helpers that let your R code read the way you already think it.
Which would you rather write?
|
base R |
roperators ← cleaner |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On the package site this is an interactive taste test — you pick the line you’d rather write, and it tells you if you’ve got good taste. →
All base R, zero dependencies — just operators and helpers that say what you mean. (Pronounced rop-er-ators, not r-operators.)
install.packages("roperators") # released, from CRAN
# remotes::install_github("BenWiseman/roperators")
install.packages("roperators", repos = c('https://benwiseman.r-universe.dev', 'https://cloud.r-project.org')) # or the dev version
On the package website this is an interactive finder — search by what you’re trying to do (“join two strings”, “missing values”, “read a file”…) and jump straight to the docs. The full reference lists everything.
| You want… | Reach for |
|---|---|
| String concat / subtract |
%+% / %-%
|
| String repeat / count |
%s*% / %s/%
|
| In-place maths |
%+=% %-=% %*=% %/=% %^=%
|
| Fill NAs / regex edit in place |
%na<-% / %regex=% / %regex<-%
|
| NA-aware (in)equality |
%==% %>=% %<=%
|
| Floating-point equality |
%~=% %>~% %<~%
|
| Strict (value + class) equality | %===% |
| Between (excl / incl) |
%><% / %>=<%
|
| Not-in / xor / all-or-nothing |
%ni% / %xor% / %aon%
|
| String interpolation | f() |
| Inline error fallback | %else% |
| Safe divide / tolerance |
%/0% / %+-%
|
| Fuzzy string match | %~% |
A quick note on shared names: %+% is also ggplot2’s, and
%like%-style matching is data.table’s. If you load those too, use the
namespaced form (roperators::%+%) where it matters.