Makalelerin kendi makalelerinin benzerliğine dayalı olarak çok büyük bir gazete makalesi veritabanında girdileri birleştirmeye çalışıyorum. dplyr kullanarak Ben tam tekrarlar da başarılı oldu burada bir süre baktıktan sonraBir data.frame ile benzerlikle grup dizeleri
ID Source File Newspaper Date Length Article
1 aaa The Guardian 07.30.2002 561 US scientist questions
2 aaa The Guardian 07.30.2002 426 Cash fine to clear elderly...
3 aaa The Guardian 07.30.2002 206 Token victory for HIV mother
4 aab Financial Times 07.29.2002 964 A tough question at the heart..
5 aab The Guardian 07.29.2002 500 Media: 'We want van Hoogstr…
6 aab The Mirror 07.29.2002 43 IN BRIEF…
7 aab The Sun 07.29.2002 196 US scientist questions
8 aab The Sun 07.29.2002 140 ADDED VALUE
9 aab The Times 07.29.2002 794 US-scientist questions
10 … … … … …
:
Benim veri böyle bir şekilde görünüyor
Dup_info <- meta_articles.m %>%
group_by(Articles) %>%
summarise(IDs = toString(ID))
Bu doğru tanımlayan 1. ve kopya olarak 7. ve yinelenen girişleri kaldırdıktan sonra bilgileri tutabiliyorum. Tek bir karakter farklı olduğu için maalesef # 9 yakalamıyor ve% 99 veya% 95 oranında benzerlik eşiğinin nasıl uygulanacağını anlamak için yeterince iyi bilmiyorum. Bunun mümkün olup olmadığını bilen var mı?
dput(meta_articles.m)
structure(list(ID = 1:9, Source.File = structure(c(1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L), .Label = c("aaa", "aab"), class = "factor"),
Newspaper = structure(c(2L, 2L, 2L, 1L, 2L, 3L, 4L, 4L, 5L
), .Label = c("Financial Times", "The Guardian", "The Mirror",
"The Sun", "The Times"), class = "factor"), Date = structure(c(2L,
2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("07.29.2002",
"07.30.2002"), class = "factor"), Length = c(561L, 426L,
206L, 964L, 500L, 43L, 196L, 140L, 794L), Article = structure(c(8L,
3L, 6L, 1L, 5L, 4L, 8L, 2L, 7L), .Label = c("A tough question at the heart..",
"ADDED VALUE", "Cash fine to clear elderly...", "IN BRIEF…",
"Media: 'We want van Hoogstr…", "Token victory for HIV mother",
"US-scientist questions", "US scientist questions"), class = "factor")), .Names = c("ID",
"Source.File", "Newspaper", "Date", "Length", "Article"), class = "data.frame", row.names = c(NA,
-9L))
Eğer 'dput (meta_articles.m) sağlarsanız' Eğer Sen "için arama olabilir –
daha detaylı yardım alabileceği örnek Bulanık eşleştirme "veya" kümeleme "- ancak bunun gibi hiçbir şey dplyr için yerleşik değildir. Karmaşık bir şey yapmak istemiyorsanız, tüm özel karakterleri kaldırabilir ve her şeyi küçük harfe dönüştürebilirsiniz. – akrun
kısmi sonuçların bulunması için' grep' veya 'pmatch' veya' stringdist' kullanabilirsiniz – Gregor