私は、私は2つのパラメータに基づいて機能を実行するために、コマンドでそれぞれを57個の新しいRスクリプトを生成マスタースクリプトを書かれているのWindows 7でRStudioを実行している:)(システムを使用して、複数のRスクリプトを実行するコマンド
vector1 <- c(1:19)
vector2 <- c(1:3)
まず、マスタースクリプトが使用する2つのforループの私の作業ディレクトリに57個の各スクリプトを生成する(「DEF」ベクトル2のインデックスを使用してベクトル1、1のインデックス「ABC」を使用して1)次のファイル名規則を使用します。
run_inference_<<vector1[abc]>>_<<vector2[def]>>.R
その部分は正常に実行されます。57個のスクリプトのそれぞれは、正しいコマンドを内部で生成しています。私の作業ディレクトリは今などrun_inference_1_1.R、run_inference_1_2.Rを、ファイルが含まれてい
私がやりたい最後の事は同時に私のマスターからのすべての57個のスクリプトを実行し、その後です。私はforループの中で以下を試しました:
system(paste0("Rscript run_inference_",abc, "_", def, ".R"),wait = F)
これは動作しません。しかし、57個の生成されたスクリプトの1つを開いて実行すると、そのスクリプトから望ましい結果が得られます。これは私が書いたsystem()コマンドの中に問題があることを示しています。
57個のスクリプトのそれぞれは、計算に集中していません(まだ)ので、私が今実行したいテストは自分のPCで2分かかります。 system()コマンドを編集して57のスクリプトを同時に実行するにはどうしたらいいですか?
'sapply(paste0( "Rscriptのrun_inference _"、ABC、 "_"、DEF、 ".R")、システム、= Fを待つ)' 57のスクリプトを生成し、実行している場合かどうかにはコメントが良いではありませんアイデアかどうかはあなたの問題です。 – Vlo
私は、おそらくこれを行うより良い方法があるとVloの暗黙の心配をしています。なぜあなたは、必要な入力を受け取り、あなたが望む57の異なる入力でその機能を実行するような機能を持たせるのではなく、スクリプトを書きたいのですか? – Dason
私は、非常に集中的な仕事を処理できるはずの裕福なPCを持っています。そして、並列コンピューティングに精通している同僚は、利用可能なことを考慮してこのタスクを実行可能にすべきだと教えてくれました。我々は見るであろう! – tfmunkey