compter le nombre de TRUE en présence de NA
Bonjour,
Mon problème est assez simple. Je souhaite compter le nombre de "TRUE" contenus dans une liste diagForT, dans une des colonnes.
Les valeurs possibles sont "FALSE", "TRUE" et "NA". Je n'arrive pas à gérer les NA.
Voici le code que j'ai essayé :
Code:
1 2 3 4 5 6 7 8
|
temp=0
pchisq = function(k,temp,diagForT)
{
if ((diagForT$pchisq[k]!=NA) && diagForT$pchisq[k]>0.97)
{temp=temp+1}
return(temp)
} |
Mais à l'endroit où il y a un NA, ça plante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
typeof(diagForT)
[1] "list"
> typeof(diagForT$pchisq)
[1] "double"
> temp
[1] 0
diagForT$pchisq[11845]
[1] NA
diagForT$pchisq[11845]!="NA"
[1] NA
> diagForT$pchisq[11845]=="NA"
[1] NA
if ((diagForT$pchisq[11845]!=NA) && diagForT$pchisq[11845]>0.97)
+ {temp=temp+1}
Erreur dans if ((diagForT$pchisq[11845] != NA) && diagForT$pchisq[11845] > :
valeur manquante là où TRUE / FALSE est requis |
Comment puis-je régler ce problème? Comment regarder si diagForT$pchisq[k]!=NA ?
Merci d'avance