0
我想創建一個任務列表,使用mclapply在R parallel中運行。如何在R中創建任務列表時傳遞函數參數?
library(parallel)
tasks <- list(
job1 = y(5),
job2 = y(6)
)
# Using fork()
out <- mclapply(
tasks,
function(f) f(),
mc.cores = length(tasks)
)
其中y是例如:
y<-function(x){
a<-x^2
return(a)
}
當創建列表時,它與參數,而不是隻將其存儲爲列表執行的功能。如果我用一個函數y
不帶任何參數(這就是甚至到達實際mclapply
之前) ,這種方法細運行:
tasks <- list(
job1 = y,
job2 = y
)
# Using fork()
out <- mclapply(
tasks,
function(f) f(),
mc.cores = length(tasks)
)
y是例如:
y<-function(){
a<-5^2
return(a)
}
所以如何將函數與參數存儲在列表中而不執行函數(直到我告訴他們在mclapply中)?
現在它可以在不執行代碼的情況下創建列表。但是現在當我調用mclapply時,它會連續執行(就像我在原始問題中在列表中定義的那樣)。 – DaReal