Making data accessible in functions
Suppose you wanted to create a function that can access
certain data, but you do not wish to pass the data as
an argument. Rather, you would like to `equip' the
function with the data. The function provide will do
just that.
provide <- function(f, provision) { environment(f) <- list2env(provision, parent = environment(f)) f }
It will take a function f and a list provision,
and make the data in provision accessible in f.
Here is an example function.
fun <- function(x) x + a
Let us try fun.
a <- 2
fun(1)
Suppose we wanted to fix the value of a.
fun2 <- provide(fun, list(a = 41))
Let us try fun2.
a <- 2
fun2(1)