У меня есть цикл, который выполняет ряд операций.Повторить цикл до тех пор, пока не будут найдены ошибки
В некоторых случаях решение проблемы отсутствует, поэтому код возвращает ошибку.
Если я продолжаю повторное выполнение цикла, в конечном итоге он найдет решение, которое выполняется без ошибок.
Я хотел бы вставить цикл в оператор while()
, который повторяет цикл до тех пор, пока программа не вернет никаких ошибок или предупреждений.
Я не хочу ловить ошибку. вместо этого я хочу повторить попытку, пока не будет ошибки.
Как это можно сделать?
Вот небольшой пример:
a<-matrix(NA,ncol=1,nrow=sample(1:5,1))
a[sample(1:5,1),1]<-10
здесь иногда это может быть сделано, иногда она не может. Конечно, это очень забавный пример, но я хочу повторить эти две строки кода, пока не будет ошибок.
Вы можете использовать 'try' для проверки условия, и если нет ошибки, вы устанавливаете переменную для цикла while в' FALSE'. Но некоторые примеры кода могут быть полезны. – drmariod
Пожалуйста, разместите воспроизводимый код и данные и дайте понять, что вы подразумеваете под «ошибкой». Физически невозможно, чтобы код работал «иногда», если вы не выбрали какой-то рандомизатор там –
Я добавил небольшой воспроизводимый пример – user1984076