我想检查iflese命令中R命令是否有错误。与下面的类似。我想知道如何实现这一目标。实际上,我只想在前面的 R 代码没有错误的情况下运行以下代码。
ifelse(
test= Check R Command has error or not
, yes = FALSE
, no = TRUE
)
ifelse(
test= log("a") # Has error
, yes = 3
, no = 1
)
Run Code Online (Sandbox Code Playgroud)
您可以tryCatch为此使用:
tryCatch({
log(10)
1
}, error=function(e) 3)
# [1] 1
tryCatch({
log('a')
1
}, error=function(e) 3)
# [1] 3
Run Code Online (Sandbox Code Playgroud)
在上面的第二个示例中,第一个表达式(可以是多行,如上所述)抛出错误,因此传递给参数的表达式error被执行。