У меня довольно сложная функция, которая обучает загрузочную модель логистической регрессии и выполняет прогноз. На основе прогнозируемой вероятности функция выводит информационный кадр с результатами. Функция выполняется большое количество раз в цикле lapply. Функция иногда выдает предупреждения.
Я хотел бы сохранить все предупреждения в отдельном лог-файле. В случае ошибки я бы хотел, чтобы функция возвращала фрейм данных с NA и продолжала работать.
Каков наилучший способ сделать это?
Я попытался обернуть всю функцию в TryCatchLog (), но не могу заставить ее работать. Предупреждения замолкают, но R не выполнит части кода с предупреждением и ошибкой.
Скрестим пальцы за помощь! Спасибо!!!
Вот структура моего кода:
tryCatchLog(LogRegTrainPredict <- function() {
#...Code...
return(results)},
error = function(e){
results <- data.frame(result1 = NA, result2 = NA, result3 = NA)
},
warning = function(w){
warn <<- conditionMessage(w)
print(w)
},
finally= NULL,
write.error.dump.file = getOption("tryCatchLog.write.error.dump.file", TRUE),
silent.warnings = getOption("tryCatchLog.silent.warnings",FALSE),
silent.messages = getOption("tryCatchLog.silent.messages", FALSE)
)