私はWindows でparallelまたはsnowパッケージを使用しています。このmakeCluster関数はrscript引数を取り、Rscriptワーカーで実行する場所を指定できます。--vanillaなぜオプションを実行したいのですか?
編集:makeCluster(2, rscript='pathToMyRScript --vanilla')私のボックスで実行が機能していません
私はWindows でparallelまたはsnowパッケージを使用しています。このmakeCluster関数はrscript引数を取り、Rscriptワーカーで実行する場所を指定できます。--vanillaなぜオプションを実行したいのですか?
編集:makeCluster(2, rscript='pathToMyRScript --vanilla')私のボックスで実行が機能していません
これらのパッケージが提供する単純で直接的な方法があるとは思いません。ラッパーを作成し、「rscript」オプションを使用してそのラッパーへのフル パスを指定します。理論的には簡単ですが、実際には、空白が含まれている場合に引数を再解析することによるエラーを回避するために、ラッパーを作成するときに注意する必要があります。たとえば、次の BAT スクリプトには問題があると思われます。
"C:\Program Files\R\R-2.15.2\bin\Rscript" --vanilla %*
サブプロセス モジュールを使用する Python スクリプトを使用する可能性がありますが、選択できる可能性はたくさんあります。
アップデート
R バージョン 3.1.2 以降、関数rscript_argsにオプションが追加されましたmakeCluster。このオプションを使用して、次のオプションを指定--vanillaできます。
makeCluster(2, rscript_args="--vanilla")
最善の選択肢は、これを機能要求としてパッケージ作成者に送信するか、関数定義に飛び込んで独自の呼び出しを定義し、Rscript と呼ばれる PSOCK ノードの生成を試みることだと思います--vanilla。parallel:::newPSOCKnodeへの呼び出しがどのように定義されているかを確認してくださいRscript。関心のある行は次のとおりです。
rscript <- if (getClusterOption("homogeneous", options)) {
shQuote(getClusterOption("rscript", options))
}
else "Rscript"
cmd <- paste(rscript, "-e", shQuote(arg), env)
Rscript --vanilla代わりに呼び出す関数を変更できる場合は、正常に機能する可能性があります。rscript=<rscript_path> --vanilla書き込みがうまくいかないことに驚いています。
An Introduction to RRのマニュアルページのセクションB.4から:
If you just want to run a file foo.R of R commands, the recommended way is to use R CMD BATCH foo.R. If you want to run this in the background or as a batch job use OS-specific facilities to do so: for example in most shells on Unix-alike OSes R CMD BATCH foo.R & runs a background job.
したがって、あなたの場合、すべてのコマンドをスクリプトに入れる必要があります。
R --vanilla CMD BATCH your_script.R
GUIではなくコマンドラインから。