Sur un double vecteur donné, comment ça se fait que je peux définir -999
-NA
parComment convertir correctement NaN NA
v[v == -999] <- NA
mais pas
v[v == NaN] <- NA
et comment puis-je convertir NaN
« s à NA
est correctement?
Sur un double vecteur donné, comment ça se fait que je peux définir -999
-NA
parComment convertir correctement NaN NA
v[v == -999] <- NA
mais pas
v[v == NaN] <- NA
et comment puis-je convertir NaN
« s à NA
est correctement?
==
ne fonctionne pas pour tester les valeurs NA
et NaN
. C'est bien parce que, du point de vue des données, deux valeurs manquantes peuvent être identiques ou non. Utilisez is.na()
et is.nan()
pour tester ceux-ci.
Qu'est-ce que vous voulez est v[is.nan(v)] <- NA
Vous trouverez plus de détails dans les pages d'aide à ?NaN
et ?NA
.
Ceci est mentionné sur les pages d'aide, mais il est intéressant de souligner que NaN
est traité comme un type spécial de NA
, donc nous obtenons ce comportement:
> is.na(NaN)
[1] TRUE
> is.nan(NA)
[1] FALSE
merci! Question de suivi: Quelle serait l'approche pour les listes? –
Rien de spécial sur 'NA' ou' NaN' dans une liste. Utilisez 'lapply',' sapply', '[[', une boucle for, tout ce que vous utiliseriez normalement. – Gregor