You can get around that by using this instead: environment(f) <- as.environment(2)
provided it is done after you have loaded all your packages. On Fri, May 14, 2010 at 10:29 AM, Jeff Ryan <jeff.a.r...@gmail.com> wrote: > This isn't like a local variable though, since any function above the > baseenv() in the search path will also not be found. > >> f > function(a) { rnorm(b) } > <environment: base> > >> f() > Error in f() : could not find function "rnorm" > > Jeff > > On Fri, May 14, 2010 at 9:20 AM, Hadley Wickham <had...@rice.edu> wrote: > >> > Hello All, >> > >> > By default, a reference of a variable in a function cause R to look >> > for the variable in the parent environment if it is not available in >> > the current environment (without generating any errors or warnings). >> > I'm wondering if there is a way to revert this behaviors, such that it >> > will not look for the parent environment and will generate an error if >> > the variable is not available in the current environment. Is this >> > tuning has to be done at the C level? >> >> Try this: >> b <- 1 >> f <- function(a) { >> b >> } >> >> environment(f) <- baseenv() >> f() >> >> Hadley >> >> -- >> Assistant Professor / Dobelman Family Junior Chair >> Department of Statistics / Rice University >> http://had.co.nz/ >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > > > -- > Jeffrey Ryan > jeffrey.r...@insightalgo.com > > ia: insight algorithmics > www.insightalgo.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel