Mögliche Duplizieren:
Numeric comparison difficulty in RErster Kreis der Hölle. 0,1 = 0,3/3
Hallo alle,
Nach "R Inferno" Papier. Ich bin gerade im ersten Kreis der Hölle. Hier erwarten die Heiden 0,1 == 0,3/3. Paper empfiehlt die Verwendung der all.equal
Funktion für solche Fälle, jedoch muss ich die Bedingungen "> =" oder "< =" überprüfen. Mit aktuellem Beispiel an ihnen scheitert:
> .1 >= .3/3
[1] TRUE
> .1 <= .3/3
[1] FALSE
Gibt es eine ähnliche Funktion wie all.equal, die Ungleichungen prüft?
Danke,
Ilya
Das ist kein R spezifischer Fehler, aber ein allgemeiner Fehler, der durch die binäre Darstellung von Fließkommazahlen verursacht wird. Siehe http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems zum Beispiel. – schnaader
Ich weiß, warum ein Fehler auftritt. Ich würde gerne wissen, ob es eine R-Funktion gibt, die Ungleichungen überprüfen kann oder ich muss eine mit Gleitkommazahlen schreiben. – ilya
ja, ich muss bessere Suchen tun – ilya