我如何检查2列在2个独立的数据框架的值唯一的一列,但不是另一个?



所以我有两个独立的数据框架,它们都有一个名为"团队"的列。df1$team中的团队列表应该与df2$team中的团队列表具有完全相同的团队数量(130),但df2$team中的团队数量少了20支。我怎么知道这20支球队用的是什么?

这里有一个最小的可复制的例子:

# set up dummy data: 2 dfs with one team column each
df1 <- data.frame(team = c("a", "b", "c"))
df2 <- data.frame(team = c("b", "c"))

你可以使用in操作符的否定,通过使用base R来获取团队名称:

df1$team[!df1$team %in% df2$team]
[1] "a"

一个可能的选择是dplyr包中的反连接:

library(dplyr)
dplyr::anti_join(df1, df2, by = "team")
team
1    a

无论如何,我建议你检查相反的情况(来自df2而不是df1的团队),因为理论上你的描述似乎是可能的。

相关内容

最新更新