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 ofpurrrdetectfunctions (these support~{}formula functions)use_infix_helpers: Use infix-helpersuse_isers: Use “is_” tester functionsuse_keepers: Use base R versions ofpurrrkeepfunctions (these support~{}formula functions)use_mappers: Use base R versions ofpurrrmapfunctions (these support~{}formula functions) along withset_names()use_safely: Use base R versions ofpurrrsafelyfunctionsuse_tidylite(): Use base R versions of coretidyrfunctionsuse_walkers: Use base R versions ofpurrrwalkfunctions (these support~{}formula functions)
devtools::install_git("git://gitlab.com/hrbrmstr/freebase")library(freebase)
# current version
packageVersion("freebase")## [1] '0.2.0'