从两个数据帧中查找不常见的行,每个数据帧具有多个不唯一的行,每个行匹配一次。有关该问题的更多说明,请参见下图 Explanation and desired result
df1<-data.frame("ID"=c("123","124","123"), "Amt"=c("57365","57365","57365"))
df2<-data.frame("ID"=c("123"), "Amt"=c("57365"))
答案 0 :(得分:1)
使用dplyr:
library(dplyr)
df1<-data.frame("ID"=c("123","124","123"), "Amt"=c("57365","57365","57365"))
df2<-data.frame("ID"=c("123"), "Amt"=c("57365"))
df3 <- df1 %>%
inner_join(df2, by="ID") %>%
distinct()
这仅返回df1的row1。我希望这很有用。
答案 1 :(得分:0)
我们可以用join
做data.table
unique(setDT(df1)[df1[df2, .I, on = .(ID)]])
# ID Amt
#1: 123 57365
#2: 124 57365