[R] Global variables

Kenn Konstabel lebatsnok at gmail.com
Mon May 2 16:02:00 CEST 2011


On Mon, May 2, 2011 at 2:19 PM, abhagwat <bhagwataditya at gmail.com> wrote:
> Well, what would be really helpful is to restrict the scope of all
> non-function variables, but keep a global for scope of all function
> variables. Then, you still have access to all loaded functions, but you
> don't mix up variables.
>
> How would one do that?

But what's the real motivation for this? It could be useful for
ensuring that there are no unexpected global variables in your code
but you can do it using findGlobals in codetools package.

fun <- function() mean(x)
findGlobals(fun, merge=FALSE)


Kenn

>> Is there a way I can prevent global variables to be visible within my
>> functions?
>
> Yes, but you probably shouldn't.  You would do it by setting the
> environment of the function to something that doesn't have the global
> environment as a parent, or grandparent, etc.  The only common examples
> of that are baseenv() and emptyenv().  For example,
>
> x <- 1
> f <- function() print(x)
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Global-variables-tp3178242p3489796.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list