r 中 dplyr::SETDIFF 的奇怪输出

weird output of dplyr::SETDIFF in r

我正在尝试在 dplyr 中对这两个数据帧使用 setdiff 函数:

t1 <- data.frame(c(1,2,3),c(1,2,3))
names(t1) <- c("C1","C2")

t2 <- data.frame(c(1,2,3), c(0,1,2))
names(t2) <- c("C1","C2")

但是,我不断收到我不期望的输出:

> setdiff(t2,t1)
  C1 C2
1  1  0
2  2  1
3  3  2

我哪里错了?

这个结果是完全合理的。首先,t1 包含三个观察值:(1,1), (2,2)(3,3)。 None 个出现在 t2 中。

现在,setdifft2 的集合,没有 t1 的集合。在这种情况下,由于 t1 的观察结果(行)中的 none 出现在 t2t_2 - t_1 = t2.