R:在列中显示具有重复元素的所有行

时间:2016-05-20 17:34:38

标签: r dplyr

这样的函数是否存在于任何包中?

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

1 个答案:

答案 0 :(得分:8)

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

我不知道它是否存在于任何软件包中,但由于您可以轻松实现它,我只想继续自己实现它。