fusionar datos con coincidencia parcial en r

Tengo dos conjuntos de datos

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

Quiero fusionarlos por nombre de columna, sin embargo, se permite una coincidencia parcial (para evitar dificultar la combinación de errores ortográficos en un gran conjunto de datos e incluso detectar tales errores ortográficos) y, por ejemplo,

(1) Si hay cuatro letras consecutivas (todas si el número de letras es menor que 4) en cualquier posición: coincida con eso está bien

 ABBCD = BBCDK = aBBCD = ramABBBCD = ABB 

(2) La sensibilidad de la caja está desactivada en el partido, p. Ej.ABBCD = aBbCd

(3) El nuevo conjunto de datos tendrá ambos nombres (nombres de datf1 y datf2) conservados. Entonces, esa letra podemos detectar si la coincidencia es perfecta (puede ser una columna separada con cuántas letras coinciden)

¿Es tal fusión posible?

Ediciones:

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta