У меня проблема: я запускаю цикл для обработки нескольких файлов. Мои матрицы огромны, и поэтому мне часто не хватает памяти, если я не буду осторожен.
Есть ли способ выйти из цикла при появлении каких-либо предупреждений? Он просто продолжает запускать цикл и сообщает, что он потерпел неудачу намного позже ... раздражает. Какие-нибудь идеи о мудрых stackoverflow-ers ?!
options(warn=1)
для восстановления настроек по умолчанию.options("warn"=0)
.op=options(warn=2)
, 2) выполнения ваших действий, а затем 3) сброса с помощьюoptions(op)
, что возвращает васwarn=0
в этом случае.R позволяет вам определить обработчик условия
что приводит к
Выполнение продолжается после tryCatch; вы можете решить закончить, преобразовав свое предупреждение в ошибку
или обработать условие изящно (продолжение оценки после вызова предупреждения)
который печатает
источник
for
было бы еще лучше провести демонстрацию с приятным :)Установите глобальный
warn
параметр:Обратите внимание, что «предупреждение» не является «ошибкой». Циклы не завершаются для предупреждений (кроме случаев
options(warn=2)
).источник