#r
#r
Вопрос:
Поиск необычных строк из двух фреймов данных, каждый из которых содержит несколько неуникальных строк, каждая из которых сопоставляется один раз. Для получения более подробной информации о проблеме обратитесь к приведенному ниже объяснению изображения и желаемому результату
df1<-data.frame("ID"=c("123","124","123"), "Amt"=c("57365","57365","57365"))
df2<-data.frame("ID"=c("123"), "Amt"=c("57365"))
Комментарии:
1. Вам нужно
df1[!duplicated(df1),]
Ответ №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()
Это просто возвращает строку 1 из df1. Я надеюсь, что это полезно.
Ответ №2:
Мы можем сделать join
с data.table
unique(setDT(df1)[df1[df2, .I, on = .(ID)]])
# ID Amt
#1: 123 57365
#2: 124 57365