I need to find all global variables being used in a function and findGlobals() 
in the codetools package works quite nicely.  However, I am not able to find 
variables that are used in formulae.  Simply avoiding formulae in functions is 
not an option because I do not have control over what functions this will be 
applied to.

Here is an example to illustrate:

library(codetools)

xGlobal <- rnorm(10)
yGlobal <- rnorm(10)

plotFn1 <- function() {
   plot(yGlobal ~ xGlobal)
}

plotFn2 <- function() {
   y <- yGlobal
   x <- xGlobal
   plot(y ~ x)
}

plotFn3 <- function() {
   plot(xGlobal, yGlobal)
}

findGlobals(plotFn1, merge=FALSE)$variables
# character(0)
findGlobals(plotFn2, merge=FALSE)$variables
# [1] "xGlobal" "yGlobal"
findGlobals(plotFn3, merge=FALSE)$variables
# [1] "xGlobal" "yGlobal"

I would like to find that plotFn1 also uses globals xGlobal and yGlobal.  Any 
suggestions on how I might do this?

______________________________________________
R-help@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.

Reply via email to