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é :
Mais à l'endroit où il y a un NA, ça plante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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) }
Comment puis-je régler ce problème? Comment regarder si diagForT$pchisq[k]!=NA ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci d'avance
Partager