1
运行sfLapply我的一段代码看起来像:错误中的R
x<- c(1,2,3,4,5)
library(snowfall)
f1<- function(a,list){
f2<-function(b,num){ return(abs(num-b))}
l1<-sfLapply(list, f2, num=a)
l1<-sum(unlist(l1))
return(l1)
}
sfInit(parallel=TRUE,cpus=4)
l2<-(sfLapply(x, f1, list=x))
sfStop()
l2
当我运行最后四行,它给出了一个错误:
l2<-(sfLapply(x, f1, list=x))
Error in checkForRemoteErrors(val) :
4 nodes produced errors; first error: could not find function "sfLapply"
。当切换到顺序处理,使用lapply,它完美运行。
> l2<-(lapply(x, f1, list=x))
> l2
[[1]]
[1] 10
[[2]]
[1] 7
[[3]]
[1] 6
[[4]]
[1] 7
[[5]]
[1] 10
为什么sfLapply会抛出一个错误?
谢谢!你能否也解释一下这方面的工作?我以前用过多个核心的sfLapply,但从来没有得到这个错误。 – jackStinger
@jackStinger,编辑是否足以说明事情?你可以用'lapply'替换'f1'函数中的'sfLapply'吗? – BenBarnes
啊。这清除了我的怀疑!谢谢! – jackStinger