On 2/14/2006 8:56 AM, Wolfram Fischer wrote: > I defined three functions: > >> fun0 <- function( x=1:5, y=1:5, ... ) xyplot( y ~ x, ... ) > >> fun1 <- function( x=1:5, y=1:5, ... ) fun2( y ~ x, ... ) >> fun2 <- function( ... ) xyplot( ... ) > > The call of fun0() works as expected. > > The call of fun1() causes the following error: > 'Error in eval(expr, envir, enclos) : object "y" not found' > > How should I define fun2 to avoid the error?
fun2 is fine, it's fun1 that has problems. It is passing a formula through fun2 to xyplot without telling xyplot where to evaluate the arguments. If you change it to fun1 <- function( x=1:5, y=1:5, ... ) fun2( y ~ x, data=enviroment(), ... ) it will tell xyplot to look in the current environment at the time of the call, i.e. the fun1 evaluation environment where x and y live. Duncan Murdoch ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
