R's duplicated
renvoie un vecteur indiquant si chaque élément d'un vecteur ou d'un bloc de données est un double d'un élément avec un indice plus petit. Donc, si les lignes 3, 4 et 5 d'une trame de données de 5 lignes sont identiques, duplicated
me donnera le vecteur
FALSE, FALSE, FALSE, TRUE, TRUE
Mais dans ce cas, je veux vraiment avoir
FALSE, FALSE, TRUE, TRUE, TRUE
c'est-à-dire que je veux savoir si une ligne est dupliquée par une ligne avec un indice plus grand également.
x <- c(1:9, 7:10, 5:22); y <- c(letters, letters[1:5]); test <- data.frame(x, y); test[duplicated(test$x) | duplicated(test$x, fromLast=TRUE), ]
renvoyé les trois exemplaires de 7, 8 et 9. Pourquoi cela fonctionne-t-il?