【问题标题】:R cannot find %do% functionR 找不到 %do% 函数
【发布时间】:2014-03-08 13:11:50
【问题描述】:

我正在尝试学习如何在 R 中使用并行 foreach 循环:

我尝试运行以下代码:

testParForEach<-function(){

#testing a parallel for each loop

#to parallelize loop:
library(foreach)
library(doSNOW)
cl<-makeCluster(2)
registerDoSNOW(cl)

resultdf <- foreach(i=1:8, .combine='rbind') %dopar% {
 foreach(j=1:2, .combine='c') %do% {
  l <- runif(1, i, 100)
  i + j + l  
 }
}



return(resultdf)

#close cluster
stopCluster(cl)


 }

(我从 Stackoverflow 上的另一篇文章中获得)但出现错误:

{ 中的错误:任务 1 失败 - "konnte Funktion "%do%" nicht finden"

表示“找不到函数 %do%”。 有没有人见过这个错误?

【问题讨论】:

    标签: r parallel-foreach


    【解决方案1】:

    这是因为%do% 是在foreach 包中定义的。通过foreach 进行的外部并行化正在启动单独的R 进程(在您的情况下为2),它们独立地执行要并行化的代码。但在这些过程中,没有加载 foreach 包。这是通过foreach-函数的.packages-参数完成的。

    您可以找到here 的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-16
      • 2015-11-06
      • 2019-07-08
      • 2018-05-29
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多