我有一个复杂的,我用来做模拟的长函数。它可能会产生错误,主要是随机向量与零方差结果相等的值,从而导致PCA或逻辑回归。tryCatch具有复杂的功能和plyr在R
我正在群集上使用doMC
和plyr
执行它。我不希望tryCatch
函数中的每一件小事情,因为错误的可能性很多,并且它们中的每一个的概率都很小。
我该如何尝试抓住每一次运行,而不是tryCatch
ing每一个小行?该代码是这样的:
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
}