R duplicated
возвращает вектор, показывающий, является ли каждый элемент вектора или кадра данных дубликатом элемента с меньшим нижним индексом. Поэтому, если строки 3, 4 и 5 5-строчного фрейма данных совпадают, duplicated
я получу вектор
FALSE, FALSE, FALSE, TRUE, TRUE
Но в этом случае я действительно хочу получить
FALSE, FALSE, TRUE, TRUE, TRUE
то есть я хочу знать, дублируется ли строка строкой с большим нижним индексом.
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), ]
вернул все три копии 7, 8 и 9. Почему это работает?