如何全局关闭R中的特定错误?
例如,我想"全球"忽略Rstudio中的常见错误: " plot.new()出错:数字边距太大"不改变每个情节调用,也不用在Rstudio中使情节面板变大。
例如,Matlab这样做是可能的,我想。如何在R中这样做?谢谢!
答案 0 :(得分:0)
检查一下。这是错误。
stop("Urgh, the iphone is in the blender !")
这是使用try catch的解决方案。
tryCatch({
stop("Urgh, the iphone is in the blender !")
}, error=function(e){})
答案 1 :(得分:0)
上述解决方案已经提到suppresX
- 解决方案和tryCatch
。 dplyr
为tryCatch
failwith
提供了一个很好的包装器,名为library(dplyr)
toyfun <- function(x){
stopifnot(x=="coffee")
return(":)")
}
toyfun(42) # gives error message
toyfun <- failwith(":(", toyfun, quiet=T)
toyfun(42)
[1] ":("
:
plot <- failwith(warning("sth wrong"), plot, quiet=T)
在具体示例中,您可以覆盖有问题的功能。请注意,这很危险,如果真的困扰你,你应该只使用它。
plot <- function(...) tryCatch(plot(...), error=function(e){})
或者:
plot
通过这种方式,您在工作空间中有一个名为base::plot
的被操作函数,该函数被调用而不是 @IBOutlet weak var headerTitle: UILabel!
。我认为这是&#34;全球&#34;你会得到一个解决方案。然而,更安全的路线是以不同的方式命名该函数,并相应地更改代码中的函数调用。
答案 2 :(得分:-1)
我认为您正在寻找suppressWarnings(plot(...))
或者是suppressMessages(plot(...))
消息。