我想在R中并行化下面的代码。它是一个嵌套的for循环。
for (i in 1:nrow(my_dataset_preprocessed)){
for (j in 1:ncol(my_dataset_preprocessed)){
my_dataset_preprocessed[i,j] = min( my_dataset_preprocessed[i,j], 0.1 )
}
}
我正在使用doParallel
尝试以下代码library(foreach)
library(doParallel)
registerDoParallel(detectCores())
clusterExport(cl, "my_dataset")
threshold_par <- function (X) {
co <- foreach(i=1:nrow(X)) %:%
foreach (j=1:ncol(X)) %dopar% {
co = min( X[i,j], 0.1 )
}
matrix(unlist(co), ncol=ncol(X))
}
system.time(threshold_par(my_dataset))
但是我收到以下错误:
{:任务1失败 - &#34;无效&#39;类型&#39; (列表)参数&#34;
有没有更好的方法来并行化此代码(可能正在使用parLapply)?如果没有,我该如何修复上述代码?
答案 0 :(得分:0)
您没有声明Show Raw Keys/Values
。如果您删除cl
clusterExport(cl, "my_dataset")