R duplicated
zwraca wektor pokazujący, czy każdy element wektora lub ramki danych jest duplikatem elementu z mniejszym indeksem dolnym. Więc jeśli wiersze 3, 4 i 5 5-rzędowej ramki danych są takie same, duplicated
da mi wektor
FALSE, FALSE, FALSE, TRUE, TRUE
Ale w tym przypadku faktycznie chcę dostać
FALSE, FALSE, TRUE, TRUE, TRUE
to znaczy chcę wiedzieć, czy wiersz jest zduplikowany przez wiersz z większym indeksem dolnym.
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), ]
Zwróciłem wszystkie trzy kopie 7, 8 i 9. Dlaczego to działa?