Я использую recordlinkeage
для поиска дубликатов. Я использую несколько разных поисков для идентификации пар. Я хотел бы объединить свои наборы пар, чтобы удалить дубликаты между двумя методами. Я хотел бы иметь все уникальные пары, которые находятся либо в getPairs(y)
, либо в getPairs(z)
. В качестве конечного продукта мне нужен data.frame со всеми уникальными комбинациями.
library(RecordLinkage)
# Making some synthetic data
x <- rbind( mtcars , mtcars[2,])
x$name <- rownames( x )
x$nrid <- sample( 1:1000000 , nrow( x))
y = compare.dedup(
x,
blockfld=c("gear", "carb", "am", "name") ,
phonetic = "name" ,
phonfun = soundex)
z = compare.dedup(
x,
blockfld=c( "am", "name") ,
phonetic = "name" ,
phonfun = soundex)
# I know that I can see the details of my pairs
summary(y)
y <- getPairs(y)
z <- getPairs(z)
1 ответ
Я думаю, что это может быть просто вопрос использования dplyr::full_join
:
library(RecordLinkage)
x <- rbind(mtcars , mtcars[2, ])
x$name <- rownames(x)
x$nrid <- sample(1:1000000, nrow(x))
y = compare.dedup(
x, blockfld = c("gear", "carb", "am", "name") ,
phonetic = "name", phonfun = soundex
)
z = compare.dedup(
x, blockfld = c("am", "name"),
phonetic = "name", phonfun = soundex
)
## Check the list components of y, z: safe to merge
all(names(y$pairs) == names(z$pairs))
all(y$frequencies == z$frequencies)
## Remove duplicates while combining pairs from both: key line
z$data <- dplyr::full_join(y$data, z$data)
getPairs(z)
Если нужно объединить несколько вещей, вы можете использовать Reduce
для списка. Дайте мне знать, если это не то, к чему вы стремились.
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.