Bonjour
Je souhaite tester l'égalité entre des valeurs, sur deux variables qui possèdent des NA.
Le problème est que je n'obtiens pas du tout ce que je veux. Exemple :
Le résultat est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 X <- data.frame(Id=c(1,2,3,4,5),V1=c(0,0,1,NA,1),V2=c(NA,0,0,1,1)) X[X$V1 != X$V2,]Si j'y met un which(...)Id V1 V2
NA NA NA NA
3 3 1 0
NA.1 NA NA NAJ'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part X[which(X$V1 != X$V2),]
Ce n'est pas non plus ce que je désire. Je voudrais avoirId V1 V2
3 3 1 0Bien sur, on peut aussi ajouter des contrôles sur les NA, de la façon suivante :Id V1 V2
1 1 0 NA
3 3 1 0
4 4 NA 1Mais n'y a-t-il pas plus simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part X[which( (is.na(X$V1) & !is.na(X$V2)) | (is.na(X$V2) & !is.na(X$V1)) | (X$V1 != X$V2)),]
Partager