J'essaie d'exécuter le code suivant dans R
comments = c("no","yes",NA)
for (l in 1:length(comments)) {
if (comments[l] != NA) print(comments[l]);
}
Mais je reçois une erreur
Error in if (comments[l] != NA) print(comments[l]) : missing value where TRUE/FALSE needed
Que se passe t-il ici?
vérifiez la commande: NA!=NA
: vous obtiendrez le résultat NA
, d'où le message d'erreur.
Vous devez utiliser la fonction is.na
pour que votre if
instruction fonctionne (en général, il est toujours préférable d'utiliser cette fonction pour vérifier les valeurs de NA
):
comments = c("no","yes",NA)
for (l in 1:length(comments)) {
if (!is.na(comments[l])) print(comments[l])
}
[1] "no"
[1] "yes"
Pouvez-vous changer la condition if en ceci:
if (!is.na(comments[l])) print(comments[l]);
Vous ne pouvez vérifier les valeurs NA qu'avec is.na ().