So beheben sie in r: fehlender wert, bei dem wahr/falsch benötigt wird
Ein Fehler, der in R auftreten kann, ist:
Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
Dieser Fehler tritt auf, wenn Sie einen Wert mit NA in einer if- Anweisung in R unter Verwendung der Syntax x == NA vergleichen.
Eine if- Anweisung erwartet einen TRUE- oder FALSE-Wert, daher sollten Sie stattdessen is.na(x) verwenden, da diese Funktion immer TRUE oder FALSE zurückgibt.
So reproduzieren Sie den Fehler
Angenommen, wir versuchen, eine Liste von Werten in einem Vektor in R zu durchlaufen und jedes Mal, wenn ein NA-Wert im Vektor vorhanden ist, das Wort „fehlend“ auszugeben:
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (x[i] == NA) { print(' Missing ') } } Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed
Wir erhalten eine Fehlermeldung, weil wir die Syntax x[i] == NA verwendet haben.
So beheben Sie den Fehler
Wir müssen die Syntax wie folgt in is.na(x) ändern:
#define vector with some missing values x <- c(2, NA, 5, 6, NA, 15, 19) #loop through vector and print "missing" each time an NA value is encountered for (i in 1:length(x)) { if (is. na (x[i])) { print(' Missing ') } } [1] “Missing” [1] “Missing”
Beachten Sie, dass wir keine Fehlermeldung erhalten und das Wort „fehlt“ ausgeben können, wenn wir im Vektor auf einen NA-Wert stoßen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:
So beheben Sie das Problem: Durch Zwang eingeführte NAs
So beheben Sie: Falsche Anzahl von Indizes in der Matrix
So reparieren Sie: Die Anzahl der auszutauschenden Teile ist kein Vielfaches der Austauschlänge