A ‘usethis’-esque Package for Base R Versions of ‘tidyverse’ Code
The ‘tidyverse’ is awesome, but can take a bit to compile on systems where there are no pre-built binary packages. Methods are provided which use the facilities of the ‘usethis’ package to snap-in base versions of useful ‘tidyverse’ functions that are mostly equivalent (some are more complete than others). The base R counterpart functions will likely be slower than the ‘tidyverse’ equivalents but using them will decrease ‘Imports’ dependencies.
Use deliberately and with caution.
This package shares core concepts with
noplyr
(and the author of noplyr
is a contributor to freebase
). For valid, needed reasons, noplyr
uses
rlang
which introduces a compilation dependency/requirement which
freebase
is trying to avoid. The goal of freebase
is 100% base R
implementation of core/most frequently used tidyverse
components
primarily for use by package authors who prefer tidyverse
idioms and
would like to use them in package development but do not want to
introduce compilation and/or third-party dependencies.
As noted just above, freebase
should be used deliberately and with
caution.
The following functions are implemented:
use_detect
: Use base R versions of purrr
detect
functions
(these support ~{}
formula functions)use_infix_helpers
: Use infix-helpersuse_isers
: Use “is_” tester functionsuse_keepers
: Use base R versions of purrr
keep
functions
(these support ~{}
formula functions)use_mappers
: Use base R versions of purrr
map
functions (these
support ~{}
formula functions) along with set_names()
use_safely
: Use base R versions of purrr
safely
functionsuse_tidylite()
: Use base R versions of core tidyr
functionsuse_walkers
: Use base R versions of purrr
walk
functions
(these support ~{}
formula functions)devtools::install_git("git://gitlab.com/hrbrmstr/freebase")
library(freebase)
# current version
packageVersion("freebase")
## [1] '0.2.0'