为什么foreach和ginv在R中没有合作

时间:2018-06-05 03:59:56

标签: r parallel-processing

我正在尝试在R中并行实现。首先,我尝试了这个天真的例子,它在我的服务器上运行良好。

library(doParallel)
cl <- makeCluster(2)
registerDoParallel(cl)
foreach(i=1:3) %dopar% sqrt(i)

我试图将ginv与foreach一起使用。但是R抛出一个错误的说法。

错误{:任务1失败 - “无法找到功能”ginv“”

这是一个简单的可重复示例:

foreach (i = 1:50) %dopar% {
  ginv(matrix(rexp(10000, rate=.01), ncol=100))

}

我相信我一定错过了什么。你能帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:2)

ginv()函数来自一个包(可能是MASS,但CRAN上还有其他版本)尚未加载到工作者计算机上。使用全名(例如MASS::ginv或告诉foreach加载包,例如

foreach(..., .packages = "MASS") ...