R 使用Lappy处理错误--输出失败元素的索引
当某个元素出现故障时,始终返回R 使用Lappy处理错误--输出失败元素的索引,r,error-handling,lapply,R,Error Handling,Lapply,当某个元素出现故障时,始终返回NA或NULL,即 myfun <- function(s) { tryCatch(doSomething(s), error = function(e) { return(NULL) } } myfun通过使用identity()处理错误来捕获并释放错误。 检查错误 vapply(res, is, logical(1), "error") 返回错误条件通常比返回“神奇”值更好,如NA或NULL,除非下游分析与返回的值无缝工作 作为更高级的解决方案,创
NA
或NULL
,即
myfun <- function(s) {
tryCatch(doSomething(s), error = function(e) { return(NULL) }
}
myfun通过使用identity()处理错误来捕获并释放错误。
检查错误
vapply(res, is, logical(1), "error")
返回错误条件通常比返回“神奇”值更好,如NA
或NULL
,除非下游分析与返回的值无缝工作
作为更高级的解决方案,创建更复杂的条件或扩展错误类
my_condition = function(err)
structure(list(message=conditionMessage(err),
original=err), class=c("my", "condition"))
把那个还给我
res <- lapply(list(1, "two", 3), function(i) {
tryCatch({
sqrt(i)
}, error=my_condition)
})
res
res <- lapply(list(1, "two", 3), function(i) {
tryCatch({
sqrt(i)
}, error=my_condition)
})