测试R命令ifelse命令是否有错误

MYa*_*208 4 if-statement r

我想检查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)

jba*_*ums 5

您可以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被执行。