如何在 R 数据框中统计重复行的数目?


要统计 R 数据框中的重复行数,我们首先需要使用 setDT 将数据框转换为 data.table 对象,然后使用 Count 函数统计重复项。例如,如果我们有一个名为 df 的数据框,那么可以通过使用命令 setDT(df)[,list(Count=.N),names(df)] 统计重复行。

示例 1

 实时演示

考虑以下数据框 −

x1<−rpois(20,2)
x2<−rpois(20,2)
df1<−data.frame(x1,x2)
df1

输出

x1 x2
1 4 3
2 3 3
3 3 0
4 3 0
5 2 0
6 2 0
7 0 4
8 1 1
9 4 3
10 0 1
11 3 2
12 5 3
13 1 1
14 3 2
15 1 3
16 2 2
17 3 1
18 1 1
19 5 1
20 3 1

正在加载 data.table 对象 −

示例

library(data.table)

查找重复行 −

示例

setDT(df1)[,list(Count=.N),names(df1)]

输出

  x1 x2 Count
1:  4  3 2
2:  3  3 1
3:  3  0 2
4:  2  0 2
5:  0  4 1
6:  1  1 3
7:  0  1 1
8:  3  2 2
9:  5  3 1
10: 1  3 1
11: 2  2 1
12: 3  1 2
13: 5  1 1

示例 2

 实时演示

y1<−sample(0:2,20,replace=TRUE)
y2<−sample(0:2,20,replace=TRUE)
df2<−data.frame(y1,y2)
df2

输出

y1 y2
1 2 1
2 2 2
3 0 0
4 2 2
5 0 2
6 2 2
7 1 0
8 0 2
9 1 0
10 2 1
11 1 2
12 0 2
13 1 0
14 0 0
15 2 1
16 1 1
17 0 0
18 0 1
19 2 1
20 2 0

查找重复行 −

示例

setDT(df2)[,list(Count=.N),names(df2)]

输出

y1 y2 Count
1: 2 1 4
2: 2 2 3
3: 0 0 3
4: 0 2 3
5: 1 0 3
6: 1 2 1
7: 1 1 1
8: 0 1 1
9: 2 0 1

更新于:09-Feb-2021

3 千 + 人浏览

开启您的 职业 生涯

通过完成课程来获得认证

开始
广告