Используйте try
или tryCatch
.
for(i in something)
{
res <- try(expression_to_get_data)
if(inherits(res, "try-error"))
{
#error handling code, maybe just skip this iteration using
next
}
#rest of iteration for case of no error
}
Современный способ сделать это использует purrr::possibly
.
Сначала напишите функцию, которая получает ваши данные, get_data()
.
Затем измените функцию, чтобы она возвращала значение по умолчанию в случае ошибки.
get_data2 <- possibly(get_data, otherwise = NA)
Теперь вызовите измененную функцию в цикле.
for(i in something) {
res <- get_data2(i)
}