Преобразование функции в функцию с обработкой ошибок в конкретном случае - PullRequest
0 голосов
/ 18 апреля 2019

Я хотел бы использовать функцию для принятого ответа на этот вопрос:

Как сохранить предупреждения и ошибки в качестве вывода из функции?

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)
    }

для использования со следующей функцией:

rbindlistfun <- function(df1, df2) {
x <- rbindlist(list(df1, df2), fill=TRUE, use.names=TRUE)
return (x)
}

Ответ на OP дает следующий пример:

test <- function(i)
    switch(i, "1"=stop("oops"), "2"={ warning("hmm"); i }, i)
res <- lapply(1:3, factory(test))

Но я не совсем понимаю, как это относится к моей функции.Как использовать фабричную функцию с моим примером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...