我发现这个非常有用的工厂将任何函数转换为捕获其值,错误和警告的函数(How do I save warnings and errors as output from a function?):
factory <- function(fun)
function(...) {
warn <- err <- NULL
res <- withCallingHandlers(
tryCatch(fun(...), error=function(e) {
err <<- conditionMessage(e)
NULL
}), warning=function(w) {
warn <<- append(warn, conditionMessage(w))
invokeRestart("muffleWarning")
})
list(res, warn=warn, err=err)
}
我的问题是错误/警告也显示在屏幕上(在工厂捕获之上)。如何更改它以便错误/警告不会显示在屏幕上? 感谢
答案 0 :(得分:0)
您需要设置选项,以便不显示错误消息。在函数体中,您可以调用以下代码:
options(show.error.messages= FALSE)
在离开之前不要忘记将其变为TRUE
,看到错误消息总是有用的。