Mam problem: używam pętli do przetwarzania wielu plików. Moje matryce są ogromne i dlatego często brakuje mi pamięci, jeśli nie jestem ostrożny.
Czy istnieje sposób na wyrwanie się z pętli, jeśli zostaną utworzone jakieś ostrzeżenia? Po prostu działa w pętli i zgłasza, że zawiodło znacznie później ... denerwujące. Jakieś pomysły, och, mądre przepływy stosów ?!
options(warn=1)
aby przywrócić ustawienie domyślne.options("warn"=0)
.op=options(warn=2)
, 2) robienie swoich rzeczy, a następnie 3) resetowanie za pomocąoptions(op)
, cowarn=0
w tym przypadku przenosi cię z powrotem do .R umożliwia zdefiniowanie procedury obsługi warunków
Co skutkuje w
Wykonywanie jest kontynuowane po tryCatch; możesz zdecydować o zakończeniu, zamieniając ostrzeżenie na błąd
lub z wdziękiem radzić sobie ze stanem (kontynuacja oceny po wywołaniu ostrzeżenia)
który drukuje
źródło
for
byłby jeszcze lepszy :)Ustaw
warn
opcję globalną :Zauważ, że „ostrzeżenie” nie jest „błędem”. Pętle nie kończą się w przypadku ostrzeżeń (chyba że
options(warn=2)
).źródło