如何检查R中data.table对象中的重复项?
data.table借助用于访问列和重复函数的delta($)运算符,可以轻松检查对象中的重复项。例如,如果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