set.seed(77)
dt<-data.table(a=seq(1,5))
> dt
a
1: 1
2: 2
3: 3
4: 4
5: 5
dtsub<-dt[sample(5,3)]
> dtsub
a
1: 2
2: 3
3: 4
如何获得dtsub的补码(即dt中不存在于dtsub中的行)?请归纳适用于任何数据表的解决方案。
注意:我敢肯定这已经被问过了,但是我的Google搜索结果是空的。如果这是重复的,请标记为正确,并指向正确的方向。
最佳答案
library(data.table)
set.seed(77)
dt<-data.table(a=seq(1,5))
dtsub<-dt[sample(5,3)]
setkey(dt,a)
setkey(dtsub,a)
dt[!dtsub]
# a
#1: 1
#2: 5