如何获得数据表子集的补充?

Ben*_*Ben 3 r data.table

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
Run Code Online (Sandbox Code Playgroud)

如何获得dtsub的补充(即dt中不在dtsub中的行)?请概括解决方案以适用于任何数据表.

注意:我确定之前已经问过这个问题,但我的谷歌搜索结果是空的.如果这是重复的,请将其标记为正确并指出正确的方向.

Rol*_*and 7

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
Run Code Online (Sandbox Code Playgroud)