providers - tags$style shiny
Quelque chose de bizarre à propos du retour des AN (1)
C'est une question boiteuse je suppose, mais je ne comprends pas ce qui se passe. Si j'y vais:
sum(is.na(census$wd))
Il renvoie 4205
Mais si je pars avec:
sum(census$wd == NA)
Il renvoie "NA"
Je voudrais juste comprendre ce qui se passe. Si je fais str (recensement), wd apparaît comme:
$ wd : num NA 0.65 0.65 0.65 0.78 0.78 0.78 0.78 0.78 0.78 ...
Quelqu'un peut-il expliquer pourquoi les codes retournent des sorties différentes? Je vous remercie!
==
dans R
est une comparaison. Mais vous ne pouvez pas comparer quelque chose à NA
dans R
comme la citation suivante de ?Comparison
Etats de ?Comparison
:
Les valeurs manquantes (NA) et les valeurs NaN sont considérées comme non-comparables même à elles-mêmes, de sorte que les comparaisons les impliquant entraîneront toujours NA.
En revanche, is.na
indique quels éléments manquent quel que soit leur type. Il renvoie donc un vecteur d'entrées TRUE
et FALSE
.
> a <- c(NA,1,2,3)
> a == NA
[1] NA NA NA NA
> is.na(a)
[1] TRUE FALSE FALSE FALSE
c'est pourquoi sum
travaille avec is.na
(interprétant TRUE=1
et FALSE=0
mais ne peut pas additionner un vecteur de NA
(généré par ==NA
)