2017-09-04 16 views
1

多くの関数からRパッケージをまとめようとしています。 foreachとdo.callを含むトップレベルのものを含むすべての仕事。私はそれらをパッケージ化する何らかの理由で、3番目のレベルでネストされた関数の引数オブ​​ジェクトを見つけることはできません。これは私が私が私が.EXPORTなどを使用して、すべての荘園を試みたが、まだそれは、このオブジェクトを見つけるために取得することはできませんhttps://github.com/jamaas/qmradoparr.gitRのforeachネストされた関数がdo.callを使って関数に引数を見つけられない

で一緒MWEを入れている

Error in { : task 2 failed - "object 'total.dose.params' not found" 

を取得エラーです。レポには、driver1.Rという非常に小さなRスクリプトがあり、問題を実証するはずです。

答えて

1

変数をエクスポートする必要はありません。foreachが使用する各変数をその環境に(foreachを呼び出す関数に)渡すだけです。

私はあなたのパッケージにpull requestを作った。

+0

Thx。これは奇妙なものです。変更を加えて実行するとうまく動作します。バックエンドをdoParallelからdoMPIに変更すると、失敗し、オブジェクト(関数の1つ)が見つかりません。 foreachループの中でバックエンドとしてmpiを使用しているのにdo.callの代わりにeval(call( "function"))を使うことについて最近知ったが、今は見つからない。 –

+0

@JimMaas私はそれについて知らない、申し訳ありません。私はいつも 'doParallel'を使います。 doMPIを絶対に使いたい理由はありますか? –

+0

大規模なLinuxクラスタでは必要ですが、複数のノードで〜400コアを並列化したいのですが、doMPIはうまく動作します...動作すれば! –

関連する問題