Ich habe ein Problem: Ich führe eine Schleife aus, um mehrere Dateien zu verarbeiten. Meine Matrizen sind riesig und deshalb geht mir oft der Speicher aus, wenn ich nicht aufpasse.
Gibt es eine Möglichkeit, aus einer Schleife auszubrechen, wenn Warnungen erstellt werden? Es läuft einfach weiter und meldet, dass es viel später fehlgeschlagen ist ... ärgerlich. Irgendwelche Ideen, oh weise Stackoverflower?!
options(warn=1)
, um die Standardeinstellung wiederherzustellen.options("warn"=0)
.op=options(warn=2)
, 2) Ihr Ding machen und dann 3) mit zurücksetzenoptions(op)
, was Siewarn=0
in diesem Fall zurückbringt .Mit R können Sie einen Bedingungshandler definieren
was in ... endet
Die Ausführung wird nach tryCatch fortgesetzt. Sie können zum Abschluss entscheiden, indem Sie Ihre Warnung in einen Fehler umwandeln
oder behandeln Sie die Bedingung ordnungsgemäß (Fortsetzung der Auswertung nach dem Warnruf)
welche druckt
quelle
for
wäre noch besser :)Stellen Sie die globale
warn
Option ein:Beachten Sie, dass eine "Warnung" kein "Fehler" ist. Schleifen werden nicht für Warnungen beendet (es sei denn
options(warn=2)
).quelle