我正在尝试确定data.table
中重复的行。这是我使用的示例代码。
a<-c(1,2,3,3,5)
b<-c(6,7,8,9,10)
require(data.table)
DT<-data.table(a,b)
setkey(DT,a)
DT
# a b
# 1: 1 6
# 2: 2 7
# 3: 3 8
# 4: 3 9
# 5: 5 10
setkey(DT,a)
duplicated(DT)
# [1] FALSE FALSE FALSE TRUE FALSE
正如您所看到的,我将第4行标识为重复行,这是不正确的,因为DT [3:4,&#34; b&#34;,= = FALSE]不同。我使用duplicated
函数错了吗?
答案 0 :(得分:4)
duplicated.datatable
有一个by
参数,默认为键列
因此,如果您将其设置为考虑所有列,它将按您的意愿执行
duplicated(DT, by = names(DT))
# [1] FALSE FALSE FALSE FALSE FALSE