在ifelse命令中测试R命令是否存在错误
问题描述:
我想检查在iflese命令中R命令是否存在错误。与以下类似。我想知道如何完成这一个。其实我只想在以前的R代码中没有错误的时候运行下面的代码。在ifelse命令中测试R命令是否存在错误
ifelse(
test= Check R Command has error or not
, yes = FALSE
, no = TRUE
)
ifelse(
test= log("a") # Has error
, yes = 3
, no = 1
)
答
可以使用tryCatch
为这样:上述
tryCatch({
log(10)
1
}, error=function(e) 3)
# [1] 1
tryCatch({
log('a')
1
}, error=function(e) 3)
# [1] 3
在第二个例子中,第一表达(其可以是多行,如上述)时会引发错误的,所以表达传递给error
参数被执行。
+0
(+1):谢谢@jbaums的帮助。我在这里有一个[后续问题](http://stackoverflow.com/q/26202078/707145),如果你也能帮助我,我将不胜感激。无论如何,再次感谢您的帮助。 – MYaseen208 2014-10-05 11:33:55
或'tryCatch({log('a'); 1},error = function(e)3)' – jbaums 2014-10-05 09:11:04
这应该是一个很好的阅读:http://stackoverflow.com/questions/12193779/how-to -write-trycatch-in-r – nico 2014-10-05 09:14:26
感谢@jbaums对你的评论。您想将您的评论转换为答案吗?谢谢 – MYaseen208 2014-10-05 11:17:18