[R] source a specific function

(Ted Harding) ted.harding at nessie.mcc.ac.uk
Mon Jun 18 18:11:20 CEST 2007


On 18-Jun-07 14:28:35, Gabor Grothendieck wrote:
> This loads all the functions into an anonymous environment defined
> by local and then exports f to the global environment.
> 
> f <- local({
>       source("/a.R", local = TRUE)
>       environment(f) <- .GlobalEnv
>       f
> })

That looks neat! Two questions:

1. Would something similar work for extracting selected functions
   from a library (assuming that you know about interdependencies)?

   E.g. something like

  f <- local({
       library(f.etc.lib)
       environment(f) <- .GlobalEnv
       f
  })


2. Having done what you describe to extract just f from a source
   file, can one then "delete" the local environment used to load
   the source? I think what I'm basically asking is whether the
   exporting is done "by value" (local environment deletion OK)
   or "by reference" (deletion would destroy the exported object).

Apologies, but for instance "?local" is a bit too deep for me!

The underlying agenda behind these queries is the saving of
memory space.

With theanks,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <ted.harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 18-Jun-07                                       Time: 17:11:15
------------------------------ XFMail ------------------------------



More information about the R-help mailing list