0

以下は私にエラーを与えています。評価される関数は、fOptions パッケージ pdf のサンプル サブセクションからのものです (正しいと確信しています)。並列処理で何が間違っていますか?

require(parallel)    
cl <- makeCluster(6)
registerDoParallel(cl)
clusterEvalQ(cl,require(fOptions)) 
clusterEvalQ(cl,EuropeanOption("call", 100, 100, 0.01, 0.03, 0.5, 0.4))

結果:

checkForRemoteErrors(lapply(cl, recvResult)) のエラー: 6 つのノードでエラーが発生しました。最初のエラー: クラス「文字」のオブジェクトに適用される「EuropeanOption」に適用可能なメソッドがありません

4

1 に答える 1

1

関数「EuropeanOption」は「RQuantLib」パッケージで定義されていると思われるため、ワーカーにロードする必要があります。

clusterEvalQ(cl, require(RQuantLib)) 

しかし、「EuropeanOption が定義されていません」というエラーが表示されるはずなので、別のことが起こっている可能性があります。outfile=''ワーカーで生成されたエラー メッセージが表示されるように、makeCluster オプションを使用することをお勧めします。

于 2014-09-25T01:51:14.047 に答える