在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 
    ) 
+0

或'tryCatch({log('a'); 1},error = function(e)3)' – jbaums 2014-10-05 09:11:04

+0

这应该是一个很好的阅读:http://*.com/questions/12193779/how-to -write-trycatch-in-r – nico 2014-10-05 09:14:26

+0

感谢@jbaums对你的评论。您想将您的评论转换为答案吗?谢谢 – MYaseen208 2014-10-05 11:17:18

可以使用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://*.com/q/26202078/707145),如果你也能帮助我,我将不胜感激。无论如何,再次感谢您的帮助。 – MYaseen208 2014-10-05 11:33:55