2016-05-20 3 views
0

Существует ли такая функция в любом пакете?R: показать ВСЕ строки с дублированными элементами в столбце

isdup <- function (x) duplicated (x) | duplicated (x, fromLast = TRUE) 

Мое намерение состоит в том, чтобы использовать его с dplyr для отображения всего строки с дублированными значениями в данном столбце. Мне нужно также первое появление дублированного элемента, который будет показан.

В этом data.frame, например

dat <- as.data.frame (list (l = c ("A", "A", "B", "C"), n = 1:4)) 
dat 

> dat 
    l n 
1 A 1 
2 A 2 
3 B 3 
4 C 4 

Я хотел бы, чтобы отобразить строки, где столбец l дублируется ИЭ. те с A значение делания:

library (dplyr) 
dat %>% filter (isdup (l)) 

возвращает

l n 
1 A 1 
2 A 2 
+2

Почему бы просто не использовать тот, который вы определили? –

+2

Взгляните на [этот пост] (http://stackoverflow.com/questions/37148567/fastest-way-to-remove-all-duplicates-in-r/37149066#37149066) для альтернативных методов наряду с анализом эффективности , – lmo

+0

Просто проще Если мне не нужно писать каждый раз ... спасибо за подсказки. – dmontaner

ответ

1

dat %>% group_by(l) %>% filter(n() > 1)

Я не знаю, если он существует в любой упаковке, но так как вы можете реализовать его легко, I «Скажите, просто продолжайте и реализуйте это самостоятельно.

Смежные вопросы