Dieses reproduzierbare Beispiel ist eine sehr vereinfachte Version meines Codes:
%Vor% Für mich sind NA
(fehlender Wert) und NaN
(keine Zahl) zwei völlig verschiedene Entitäten. Warum entfernt na.rm
NaN
? Wie kann ich NA
und nicht NaN
ignorieren?
ps: Ich verwende 64-Bit-R-Version 3.0.0 unter Windows7.
Bearbeiten:
Bei einigen weiteren Studien habe ich festgestellt, dass is.na
auch für NaN
wahr ist! Dies ist die Ursache der Verwirrung für mich.
Es ist eine Sprachentscheidung:
%Vor% is.nan
unterscheidet:
Sie müssen also möglicherweise beide anrufen.
na.rm
Argumente in Funktionen verwenden im Allgemeinen is.na()
oder eine analoge Funktion.
Und seit is.na(NaN) == TRUE
erhalten Sie dann das Verhalten, das Sie beobachten.
Nun sollte NaN wie auch NA behandelt werden? Das ist eine andere Frage;)
Der beste Weg ist, explizit R
anzugeben, wie mit NaN
umzugehen ist.
Ein Beispiel: