Provides a small set of functions for managing R environments, with defaults designed to encourage usage patterns that scale well to larger code bases. It provides: import_from(), a flexible way to assign bindings that defaults to the current environment; include(), a vectorized alternative to base::source() that also default to the current environment; and attach_eval() and attach_source(), a way to evaluate expressions in attached environments. Together, these (and other) functions pair to provide a robust alternative to base::library() and base::source().
envir is a small R package with a handful of functions designed for managing R environments.
The main exported functions are:
import_from(x, ...): Import objects from x into the current environment.
x can be:
names and [[ methods.Usage example:
import_from(magrittr, `%<>%`, `%>%`)
import_from(dplyr) # all exported functions
import_from("my_script.R", useful_function)
See ?import_from for extended usage examples.
include(): A vectorized wrapper around base::sys.source that defaults to sourcing in the current frame.
attach_source() and attach_eval(): Evaluate an R script or expression in an attached environment
within() S3 methods for R environments.
You can install the released version of envir from CRAN with:
install.packages("envir")
Or install the development version with:
if (!requireNamespace("remotes", quietly = TRUE))
install.packages("remotes")
remotes::install_github("t-kalinowski/envir")
R has excellent support for managing environments already, but some of the defaults encourage usage patterns that don't scale well to larger code bases.
Other solutions developed for managing R environments: