Anti join()
是R中的一个函数,用于执行反连接操作,即返回在第一个数据框中存在而在第二个数据框中不存在的行。下面是anti_join()
函数的详细介绍和示例:
anti_join(x, y, by = NULL, ...)
x
、y
:要连接的两个数据框或数据表。
- by
:指定用于连接的共享变量的名称,可以是一个字符向量或变量名。如果两个数据框中的变量名称相同,则可以省略此参数。
- ...
:其他参数,用于传递给底层的*_join()
函数。
library(dplyr)
df1 <- data.frame(ID = c(1, 2, 3, 4),
value1 = c("A", "B", "C", "D"))
df2 <- data.frame(ID = c(2, 3, 5, 6),
value2 = c("X", "Y", "Z", "W"))
anti_joined_df <- anti_join(df1, df2, by = "ID")
print(anti_joined_df)
输出:
ID value1
1 1 A
4 4 D
在上述示例中,我们有两个数据框:df1
和df2
。它们都包含一个名为"ID"的共享变量。使用anti_join()
函数,我们返回在df1
中存在而在df2
中不存在的行。
在结果数据框anti_joined_df
中,只有ID为1和4的行在df1
中存在,但在df2
中不存在,因此这些行被保留。
anti_join()
函数返回的是在第一个数据框中存在而在第二个数据框中不存在的行,即补集操作。