在数据框中查找重复项并返回每个重复记录的计数

Dee*_*eep 5 r

我有一个像

col1 col2 col3
A    B    C
A    B    C
A    B    B
A    B    B
A    B    C
B    C    A
Run Code Online (Sandbox Code Playgroud)

我想获得以下格式的输出:

col1 col2 col3 Count
A    B    C    3 Duplicates
A    B    B    2 Duplicates
Run Code Online (Sandbox Code Playgroud)

我不想使用函数中的任何特定列来查找重复项。

这就是不使用 dplyr 中的 add_count 的原因。

使用重复将有

    col1 col2 col3 count
2   A    B    C    3
3   A    B    B    2
5   A    B    C    3
Run Code Online (Sandbox Code Playgroud)

所以不是想要的输出。

Ron*_*hah 4

我们可以使用group_by_all对所有列进行分组,然后通过选择计数 > 1 的行来删除不重复的列。

library(dplyr)

df %>%
  group_by_all() %>%
  count() %>%
  filter(n > 1)

#  col1  col2  col3      n
# <fct> <fct> <fct>   <int>
#1 A     B     B         2
#2 A     B     C         3
Run Code Online (Sandbox Code Playgroud)