Ce post pour juste signaler un problème auquel je me suis heurté : lorsque il y a des valeurs manquantes, les sélections peuvent ne pas se faire.
Voici un petit exemple :La différence entre DF1 et DF2 est que DF2 contient 0 à la place de NA dans la colonne B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DF1 <- data.frame(A=c(1,2,1,NA,1,2,2,1,NA),B=c(1,1,1,NA,1,NA,2,2,NA),C=c(NA,1,2,2,2,2,1,NA,1)) DF1 DF1[which(DF1$A==2 & DF1$B!=1),] DF2 <- data.frame(A=c(1,2,1,NA,1,2,2,1,NA),B=c(1,1,1,0,1,0,2,2,0),C=c(NA,1,2,2,2,2,1,NA,1)) DF2 DF2[which(DF2$A==2 & DF2$B!=1),]
En essayant de sélectionner les observations selon le critèrewhich(DF1$A==2 & DF1$B!=1) dans le 1er cas, les observations pour lesquelles B=NA n'apparaissent pas.
En revanche, je les obtient bien dans le second cas avec des critères identiques.
Pour avoir le même résultat dans le 1er cas, il faut compliquer le test : which(DF1$A==2 & (!is.na(DF1$B) | DF1$B!=1).
Ca n'a pas l'air important, mais ça m'oblige à revoir pas mal de programmes à partir de données contenant des valeurs manquantes !
Partager