Fehler in if/while (Bedingung) : argument ist nicht interpretierbar als logische
Erhielt ich den Fehler
Error in if (condition) { : argument is not interpretable as logical
oder
Error in while (condition) { : argument is not interpretable as logical
Was bedeutet es, und wie kann ich es verhindern?
Uff! Bis ich sah das
r-faq
tag, ich fürchtete, Sie würden plötzlich verlor 99% Ihre grauen Zellen 🙂InformationsquelleAutor Richie Cotton | 2014-12-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Auswertung der
condition
führte zu etwas, das R konnte nicht deuten wie logisch. Können Sie nachvollziehen, mit, zum Beispiel,In
if
undwhile
Bedingungen, R interpretiert null alsFALSE
- und nicht-null-zahlen alsTRUE
.Dies ist jedoch gefährlich, da die Berechnungen, die Rückkehr
NaN
diesen Fehler verursachen.Es ist besser, sich zu übergeben immer einen logischen Wert als die
if
oderwhile
bedingte. Dies bedeutet in der Regel einen Ausdruck mit einer Vergleichsoperator (==
usw.) oder logischer operator (&&
usw.).Mit
isTRUE
können manchmal hilfreich sein, um zu verhindern, dass diese Art von Fehler, aber beachten Sie, dass, zum Beispiel,isTRUE(NaN)
istFALSE
, die möglicherweise oder möglicherweise nicht, was Sie wollen.Ähnlich, die Saiten
"TRUE"
/"true"
/"T"
, und"FALSE"
/"false"
/"F"
verwendet werden kann als logischer Bedingungen.Wieder, das ist ein wenig gefährlich, weil Sie von anderen Saiten, die den Fehler verursachen.
Siehe auch der zugehörige Fehler:
Fehler in if/while (Bedingung) { : argument is of length zero
Fehler in if/while (Bedingung) {: fehlender Wert, wo TRUE/FALSE nötig
if(isTRUE(cond))
.InformationsquelleAutor