【发布时间】:2012-12-03 09:49:04
【问题描述】:
在函数中,我需要为列表中的每个项目运行mclapply,它还应该使用半全局变量var.1。我不想将var.1 添加到每个列表项,因为它会占用太多内存。这是说明问题的代码:
library(parallel)
list.1 <- list(1,2,3,4)
myInnerFunction <- function(xx) {
return(xx+var.1)
}
myOuterFunction <- function(list.x) {
var.1 <- 17
tmp.1 <- mclapply(list.x, myInnerFunction, mc.cores=6)
return(tmp.1)
}
results <- myOuterFunction(list.x=list.1)
[1] "Error in FUN(X[[1L]], ...) : object 'var.1' not found\n"
results[[1]] # This should be 18
如何将var.1 传递给mclapply? var.1 必须在 myOuterFunction 中声明。
【问题讨论】: