我正在RStudio在Windows 7我寫了一個主腳本生成57個新的R腳本,每個運行基於兩個參數的函數命令:使用該系統運行多個存在的R腳本()命令
vector1 <- c(1:19)
vector2 <- c(1:3)
首先,主腳本使用兩個for循環(使用索引「ABC」的向量1,一個一個使用索引「高清」爲vector2)產生在我的工作目錄每57個腳本採用以下文件名約定:
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個生成的腳本之一併運行它,那麼我將從該腳本中獲得所需的結果。這告訴我這個問題在我寫的system()命令中。
57個腳本中的每一個腳本都不是計算密集型的,但我現在要做的測試需要2分鐘。如何編輯我的system()命令同時執行所有57個腳本?
'sapply(paste0( 「RSCRIPT run_inference _」,美國廣播公司, 「_」,閃避, 「.R」),系統等待= F)'沒有評論時是否生成並運行57腳本是一個很好的想法或不是你的問題。 – Vlo
我的確反映了Vlo的不言自明的擔憂,即可能有更好的方法來做到這一點。爲什麼你想寫出腳本,而不是像做一個功能那樣需要輸入所需的功能,而只是用你想要的57個不同的輸入來運行那個功能? – Dason
我擁有資源充足的個人電腦,應該能夠處理非常密集的工作,而熟悉並行計算的同事告訴我,考慮到可用的情況,這個任務應該是可行的。我們將看到! – tfmunkey