Я запускаю большой цикл в R (к сожалению). Есть много случайных ошибок, которые продолжают появляться. Есть ли общий код, который я мог бы ввести в цикл for, который заставит его перейти к следующей итерации в случае любого типа ошибки? Благодарю. Я был бы очень признателен, если бы вы предоставили мне код, который я мог бы просто скопировать и вставить, поскольку это над моей головой.Как уловить ошибки в цикле for в R?
-3
A
ответ
2
loop.vals <- 1:6
success <- logical(length(loop.vals))
for(i in loop.vals)
if(
!inherits(
try({
if(i %% 2) stop("Random Error")
cat("Success", i, "\n")
}, silent=TRUE), # as per RHertel
"try-error"
)) success[[i]] <- TRUE
Производит:
Success 2
Success 4
Success 6
Тогда
cat("Failures: ", which(!success))
# Failures: 1 3 5
Старый Ответ
Конечно, вы можете просто try
содержимое всего цикла. Здесь мы проиллюстрируем с петлей, которая не с каждым нечетным
for(i in 1:6) try({
if(i %% 2) stop("Random Error")
cat("Success", i, "\n")
})
производит:
Error in try({ : Random Error
Success 2
Error in try({ : Random Error
Success 4
Error in try({ : Random Error
Success 6
Смежные вопросы
- 1. R Участок в цикле for
- 2. Увеличение счетчика в цикле for в R
- 3. Создание списка в цикле for в R
- 4. Назначение объекта в цикле for в R
- 5. Создать столбцы в R в цикле for
- 6. Разбор JSON в цикле for в R
- 7. 2 переменные в цикле for в R
- 8. R Заполнение данных в цикле for
- 9. Добавить столбцы в цикле for R
- 10. Назначение через `: =` в цикле `for` (R data.table)
- 11. R - подмножество фрейма данных в цикле for
- 12. R Shiny: Создание флажков в цикле for
- 13. R: реализация инструкции if в цикле for
- 14. R: удаление объектов в цикле for
- 15. R имена столбцов управления в цикле for
- 16. Задержка в цикле for
- 17. Как уловить исключение в R, чтобы не прекратить выполнение программы?
- 18. Как получить выход в цикле for в R?
- 19. Как использовать функцию sum в цикле for в R?
- 20. В R, как вычислять через условные значения в цикле for?
- 21. Как использовать tapply() в цикле for и печати в R?
- 22. как написать это в цикле for в R?
- 23. Как передать управление предыдущей итерации в цикле for в R
- 24. Как использовать метод сбора() в цикле for в R
- 25. Как передать индекс имени объекта в цикле for в R?
- 26. Как уловить ошибки в XQuery 3.0?
- 27. операторов в цикле for
- 28. Как реализовать CADisplayLink в цикле for for
- 29. Добавление элементов в список в цикле for в R
- 30. Как изменить имя, указанное в цикле for - R
Вы также можете отказаться от вывода сообщений об ошибках и двигаться дальше с петлей с помощью 'попробовать ((.. что может вызвать проблемы ...), silent = TRUE) ' – RHertel
Спасибо. И знаете ли вы, как я мог отслеживать, какие итерации были пропущены? – ejn
@ejn См. Обновление для ответа – BrodieG