Hello, I realize this is not a new problem, but I'm hoping somebody can point me in the right direction.
The function silly() below calls gam() (from package gam) with different values of the span parameter for lo(), which is used inside the formula of gam. The values for span are stored in a vector that resides in the function silly(), and that lo(), for some reason, needs to see. A hack to get around this is provided in silly2(), where the current value for span is forcefully assigned to a variable in the "top" environment, that is always visible (I believe?) Of course, this is not good programming practice (to say the least). I'd very much appreciate it if somebody could help me find a better way to make silly() work. Thanks a lot in advance. Matias ----------------------------- > version _ platform i386-redhat-linux-gnu arch i386 os linux-gnu system i386, linux-gnu status major 2 minor 7.1 year 2008 month 06 day 23 svn rev 45970 language R version.string R version 2.7.1 (2008-06-23) > > silly <- function(x, y, alphas = seq(.1, .9, length=9)) { + a <- rep(0, 9) + for(i in 1:9) { + a[i] <- predict(gam(y~lo(x, span = alphas[i]), family=poisson), type='response')[23] + } + return(a) + } > > silly2 <- function(x, y, alphas = seq(.1, .9, length=9)) { + a <- rep(0, 9) + for(i in 1:9) { + assign("tt", alphas[i], envir=.GlobalEnv) + a[i] <- predict(gam(y~lo(x, span = tt), family=poisson), type='response')[23] + } + return(a) + } > > library(gam) Loading required package: splines > set.seed(321) > x <- runif(50) > y <- rpois(50, lambda=10) > silly(x=x,y=y) Error in lodummy(span = alphas[i]) : object "alphas" not found > silly2(x=x,y=y) [1] 11.56997 10.98681 10.73250 10.63455 10.62692 10.61285 10.61779 10.63234 [9] 10.66311 > > __________________________________________________________________ [[elided Yahoo spam]] ______________________________________________ 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.