如何在 R 中检测 data.table 对象中的重复项?


只需借助 delta($)运算符(它用于访问行和 duplicated 函数),即可轻松检查 data.table 对象中的重复项。例如,如果 data.table 对象 DT 包含一个名为 x 的列,那么,要检查 x 中的重复项,我们可以使用命令 duplicated(DT$x)。

示例 1

加载 data.table 对象并创建一个对象 −

library(data.table)
set.seed(141)
x<−rpois(20,5)
DT1<−data.table(x)
DT1

输出

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

检查 x 中的重复项 −

示例

duplicated(DT1$x)

输出

[1] FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE

示例 2

y<−round(rnorm(20,5,2),0)
DT2<−data.table(y)
DT2

输出

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

检查 y 中的重复项 −

示例

duplicated(DT2$y)

输出

[1] FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE

示例 3

z<−round(runif(20,2,5),0)
DT3<−data.table(z)
DT3

输出

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

检查 z 中的重复项 −

示例

duplicated(DT3$z)

输出

[1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

更新于:2021 年 2 月 8 日

468 次浏览

开启您的职业

通过完成课程获得认证

开始学习
广告