如何计算 R 数据框中重复行的数量?
要计算R数据帧中重复行的数量,我们首先需要data.table使用setDT将数据帧转换为对象,然后使用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