我如何检查另一个data table
的{{1}} 子集,无论data table
和row
订单是什么?
例如,假设某人column
rbinded
和DT_x
移除了DT_y
并创建了duplicate
。现在,我想知道如何比较DT_Z
和DT_x
并获得显示/表明DT_Z
是DT_z
subset
的结果?
非常简单的例子:
DT_Z
我确信 DT1 <- data.table(a= LETTERS[1:10], v=1:10)
DT2 <- data.table(a= LETTERS[1:6], v=1:6)
DT1
a v
1: A 1
2: B 2
3: C 3
4: D 4
5: E 5
6: F 6
7: G 7
8: H 8
9: I 9
10: J 10
DT2
a v
1: A 1
2: B 2
3: C 3
4: D 4
5: E 5
6: F 6
不会回答我的问题。
答案 0 :(得分:1)
我认为您可以使用 data.table
的 fintersect()
和 fsetequal()
:
is_df1_subset_of_df2 <- function(df1, df2) {
intersection <- data.table::fintersect(df1, df2)
data.table::fsetequal(df1, intersection)
}
第一行选取 df1
中存在于 df2
中的元素。
第二行检查该集合是否全部为 df1
。