【发布时间】:2013-02-11 01:51:24
【问题描述】:
我有一个复杂而冗长的函数,我用它来进行模拟。它可能会产生错误,主要与以零方差相等的值结束的随机向量有关,被输入 PCA 或逻辑回归。
我正在使用doMC 和plyr 在集群上执行它。我不想tryCatch函数内部的每一件小事,因为出错的可能性很多,而且每个错误的概率都很小。
我如何尝试每次运行,而不是 tryCatching 每一行?代码是这样的:
iteration = function(){
a really long simulation function where errors can happen
}
reps = 10000
results = llply(1:reps, function(idx){out<-iteration()},.parallel=TRUE)
大约一年后编辑:
foreach 包比plyr 更容易做到这一点
library(foreach)
output <- foreach(i=1:reps, .errorhandling = 'remove')%dopar%{
function
}
【问题讨论】:
标签: r error-handling parallel-processing try-catch domc