Je voudrais savoir pourquoi certaines langues comme R ont NA et NaN. Quelles sont les différences ou sont-elles également identiques? Est-il vraiment nécessaire d'avoir NA?
Je voudrais savoir pourquoi certaines langues comme R ont NA et NaN. Quelles sont les différences ou sont-elles également identiques? Est-il vraiment nécessaire d'avoir NA?
Réponses:
? is.nan
? is.na
?N / A
? NaN
Devrait répondre à votre question.
Mais en bref:
NaN signifie - signifie pas un nombre
NA est généralement interprété comme une valeur manquante et se présente sous différentes formes - NA_integer_, NA_real_, etc.
Par conséquent, NaN NA et il existe un besoin pour NaN et NA.
is.na()
retours TRUE
pour NA et NaN, qui diffèrent de, is.nan()
par exemple, is.na(c(0/0,NA))
contre is.nan(c(0/0,NA))
.
NA est pour les données manquantes. NaN, comme JM a dit est à des fins arithmétiques. NaN est généralement le produit d'une opération arithmétique, telle que 0/0
. NA est généralement déclaré à l'avance ou est un produit opérationnel lorsque vous essayez d'accéder à quelque chose qui n'y est pas:
> a <- c(1,2)
> a[3]
[1] NA
Je pense à NA pour «Not Available», alors que NaN est «Not a Number», bien que ce soit plus mnémonique qu'explication. À propos, je ne connais aucune autre langue que R (peut-être Splus?) Qui possède les deux. Matlab, par exemple, n'a que NaN.
NA signifie que l'erreur était déjà présente lorsque vous avez importé la feuille de calcul dans R. NaN signifie que vous avez provoqué l'erreur après l'importation des données. C'est le troisième type d'erreur qui est vraiment difficile à détecter.
:-)
NA = non disponible
NaN = pas un nombre
Je pense qu'une fois les acronymes développés, cela devrait être explicite.