【发布时间】:2013-09-07 05:43:57
【问题描述】:
我正在使用foreach R 包中的foreach() 函数进行并行计算。除了那个函数,我认为还需要在doMC 包中使用registerDoMC() 函数。
但是,当我编写DESCRIPTION 文件时,Imports 部分包含doMC (>= 1.3.0), foreach (>= 1.4.1),但是当我运行我的代码时,错误指示:找不到iter 函数。因此,我还 import iterators 包。
好像还是有错误:mclapply()函数要被foreach()使用,而这个函数both出现在parallel和multicore包中。我在Imports 部分中包含了这两个包,但是当我运行search() 时,会出现警告:
Warning messages:
1: replacing previous import ‘mclapply’ when loading ‘parallel’
2: replacing previous import ‘mcparallel’ when loading ‘parallel’
3: replacing previous import ‘pvec’ when loading ‘parallel’
这很奇怪:即使我明确imports iterators 和multicore 的两个包,在加载我自己的包后我仍然无法使用它们的功能......相反,我必须明确运行:
library(iterators)
library(multicore)
为了在我的包中使用我自己的函数,它利用了并行计算。我的包裹写作有什么问题吗?非常感谢!
【问题讨论】:
标签: r foreach parallel-processing domc