2

並列計算用に R パッケージforeach()の関数を使用しています。その機能の他に、パッケージ内の機能foreachを使用することも必要だと思います。registerDoMC()doMC

ただし、DESCRIPTIONファイルを書き込むと、Importsセクションに が含まれていますdoMC (>= 1.3.0), foreach (>= 1.4.1)が、コードを実行すると、次のエラーが表示されます:関数が見つかりませんiter。したがって、私もimportパッケージiteratorsです。

まだエラーがあるようです:mclapply()関数は によって使用されforeach()、この関数はとパッケージの両方に表示されます。両方のパッケージをセクションに含めましたが、実行すると次の警告が表示されます。parallelmulticoreImportssearch()

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)

並列計算を利用するパッケージで独自の関数を使用するため。パッケージの記述に何か問題がありますか? どうもありがとう!

4

1 に答える 1