我正在使用R 包foreach()中的函数进行并行计算。foreach除了那个功能,我认为还需要使用包registerDoMC()中的功能doMC。
但是,当我编写DESCRIPTION文件时,该Imports部分包含doMC (>= 1.3.0), foreach (>= 1.4.1),但是当我运行我的代码时,错误指示:找不到iter函数。于是,我也包import了iterators。
好像还是报错:mclapply()function is to be used by foreach(),而且这个函数同时出现在和包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的包,但在加载自己的包后我仍然无法使用它们的功能......相反,我必须显式运行:iteratorsmulticore
library(iterators)
library(multicore)
为了在我的包中使用我自己的函数,该函数利用了并行计算。我的包裹写作有什么问题吗?太感谢了!