Wie "wirft" man einen Fehler in R? Ich habe eine Funktion, die einen Datenrahmen und einige Spaltennamen nimmt und Sachen damit macht. Wenn die Spalten nicht vorhanden sind, soll die Funktion gestoppt werden und alle Funktionen abhängig davon gestoppt werden.
Ich habe angeschaut recover
und browse
und traceback
doch, nun, sie schienen nahe zu sein, aber nicht das, wonach ich suche.
r
error-handling
Gabel und warten
quelle
quelle
Antworten:
Siehe
help(tryCatch)
:und später unter "Siehe auch":
also willst du wahrscheinlich
stop
.quelle
Einfaches Beispiel:
quelle
Über die von Dirk erwähnten Basisfunktionen hinaus:
Das R.oo-Paket verfügt über zusätzliche Funktionen zur Ausnahmebehandlung, einschließlich einer throw () -Funktion, die sehr nützlich ist. Sie können Ausnahmen mit den üblichen try- oder trycatch-Funktionen abfangen:
Sie können hier mehr darüber lesen: http://www1.maths.lth.se/help/R/R.oo/
quelle
plot
Zeichnet eine Funktion,try
stop
warn
alle funktionieren wie erwartet, und fast alles, was ich tun möchte, ist ein Einzeiler.Tatsächlich ist die Funktion
stopifnot
sehr praktisch, um Sanity Checks in Ihrem Code zu implementieren. Es nimmt mehrere logische Ausdrücke auf und gibt einen Fehler zurück, wenn einer von ihnen als falsch ausgewertet wird.Beispiel: So überprüfen Sie, ob die Spalte 'c' im Datenrahmen 'df' vorhanden ist:
Dies löst den folgenden Fehler aus:
quelle
Sie können überprüfen, ob die Spalte vorhanden ist, und tun, was Sie wollen.
Angenommen, eine
data.frame
benanntedf1
und prüfende Spaltecol1
:oder
Zum Beispiel
quelle