[R] foreach not recognizing functions in memory

Bos, Roger roger.bos at rothschild.com
Tue Jul 12 23:28:17 CEST 2011


I am not understanding the scoping used in foreach when it is used
inside a function.  I keep getting "could not find function" errors for
functions that are in memory when I try to use foreach within a function
call.  I have a simple example below.  "testFun" is in memory and works
when called by foreach directly, but when I place foreach in a function
called "helper" and then call helper, foreach cannot find "testFun".
Can anyone provide a fix?  I hope its just a simple mistake on my part
and not a limitation of foreach.

> source(.trPaths[5], echo=TRUE, max.deparse.length=150)

> "testFun" <- function(m) { 
+     out <- m*m
+ }

> out <- foreach(m=1:10, .combine=rbind) %dopar% testFun(m)

> "helper" <- function(i) {
+     out <- foreach(m=1:i, .combine=rbind) %dopar% testFun(m)
+ }

> out <- helper(10)
Error in testFun(m) : task 1 failed - "could not find function




This message is for the named person's use only. It may\...{{dropped:20}}

More information about the R-help mailing list