Ich habe zwei DatensätzeZusammenführen von Daten mit teilweise Übereinstimmung in r
datf1 <- data.frame (name = c("regular", "kklmin", "notSo", "Jijoh",
"Kish", "Lissp", "Kcn", "CCCa"),
number1 = c(1, 8, 9, 2, 18, 25, 33, 8))
#-----------
name number1
1 regular 1
2 kklmin 8
3 notSo 9
4 Jijoh 2
5 Kish 18
6 Lissp 25
7 Kcn 33
8 CCCa 8
datf2 <- data.frame (name = c("reGulr", "ntSo", "Jijoh", "sean", "LiSsp",
"KcN", "CaPN"),
number2 = c(2, 8, 12, 13, 20, 18, 13))
#-------------
name number2
1 reGulr 2
2 ntSo 8
3 Jijoh 12
4 sean 13
5 LiSsp 20
6 KcN 18
7 CaPN 13
ich sie mit Namen Spalt zusammenführen mag, jedoch mit teilweise Übereinstimmung (erlaubt ist, zu vermeiden, Rechtschreibfehler in großem Datensatz zu behindern Zusammenführung und sogar erfassen solche Rechtschreibfehler) und beispielsweise
(1) wenn in Folge vier Buchstaben (all, wenn die Anzahl von Buchstaben weniger als 4) an jeder Position - übereinstimmen, die
ABBCD = BBCDK = aBBCD = ramABBBCD = ABB
(2) Fall fein sen Sititivität ist in der Übereinstimmung aus. Beispiel: ABBCD = aBbCd
(3) Der neue Datensatz enthält beide Namen (Namen aus datf1 und datf2). Mit diesem Buchstaben können wir feststellen, ob die Übereinstimmung perfekt ist (kann eine separate Spalte mit wie vielen Buchstaben übereinstimmen)
Ist eine solche Zusammenführung möglich?
Edits:
datf1 <- data.frame (name = c("xxregular", "kklmin", "notSo", "Jijoh",
"Kish", "Lissp", "Kcn", "CCCa"),
number1 = c(1, 8, 9, 2, 18, 25, 33, 8))
datf2 <- data.frame (name = c("reGulr", "ntSo", "Jijoh", "sean",
"LiSsp", "KcN", "CaPN"),
number2 = c(2, 8, 12, 13, 20, 18, 13))
uglyMerge(datf1, datf2)
name1 name2 number1 number2 matches
1 xxregular <NA> 1 NA 0
2 kklmin <NA> 8 NA 0
3 notSo <NA> 9 NA 0
4 Jijoh Jijoh 2 12 5
5 Kish <NA> 18 NA 0
6 Lissp LiSsp 25 20 5
7 Kcn KcN 33 18 3
8 CCCa <NA> 8 NA 0
9 <NA> reGulr NA 2 0
10 <NA> ntSo NA 8 0
11 <NA> sean NA 13 0
12 <NA> CaPN NA 13 0
Versucht, einige Formatierungen zu beheben. Ich sehe, dass Sie eine Kopie von "uglyMerge" hinzugefügt haben, die aus der Antwort von @sgibb zu stammen scheint. Die fehlende Übereinstimmung von "xxregular" mit "reGulr" mag für Sie offensichtlich sein, aber Sie müssen es uns vielleicht erklären, da es Ihren Spezifikationen zu entsprechen scheint –