Hi guys. I recently stumbled on an unexpected behavior of R when using functions created in a loop. The problem is silly enough to me that I had hard time choosing a good mail subject, not talking about searching in the archives... After some experiments, I trimmed down the following minimal reproducible example: ####### makeF <- function(i) function() i
fList <- list(makeF(1), makeF(2)) sapply(fList, do.call, list()) ##This works as expected (by me...): #[1] 1 2 ##Things go differently when creating functions in a for loop: for(i in 1:2) fList[[i]] <- makeF(i) sapply(fList, do.call, list()) #[1] 2 2 ##Same result with "lapply": fList <- lapply(as.list(1:2), makeF) sapply(fList, do.call, list()) #[1] 2 2 ####### I evidently overlook some important detail, but I still can't get it. Somebody can explain me what's happening there? Bests, antonio. > R.version _ platform i686-pc-linux-gnu arch i686 os linux-gnu system i686, linux-gnu status Patched major 2 minor 8.0 year 2008 month 12 day 04 svn rev 47063 language R version.string R version 2.8.0 Patched (2008-12-04 r47063) -- Antonio, Fabio Di Narzo Ph.D. student at Department of Statistical Sciences University of Bologna, Italy ______________________________________________ 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.