Tengo dos dataframes (x & y) donde los ID son student_name
, father_name
y mother_name
. Debido a errores tipográficos ("n" en lugar de "m", espacios en blanco al azar, etc.), tengo aproximadamente el 60% de los valores que no se alinean, aunque puedo ver los datos y ver si deberían. ¿Hay alguna manera de reducir el nivel de no coincidencia de alguna manera para que la edición manual sea al menos factible? Los dataframes tienen aproximadamente 700K observaciones.Fusionando a través de coincidencias aproximadas de variables en R
R sería lo mejor. Conozco un poco de python y algunas herramientas básicas de Unix. PD Leí en agrep()
, pero no entiendo cómo puede funcionar eso en los conjuntos de datos reales, especialmente cuando la coincidencia es más de una variable.
actualización (para los datos de recompensas publicado):
Here son dos marcos de datos de ejemplo, y sites_a
sites_b
. Podrían coincidir en las columnas numéricas lat
y lon
, así como en la columna sitename
. Sería útil saber cómo se podría hacer esto en a) solo lat
+ lon
, b) sitename
oc) ambos.
puede obtener el archivo test_sites.R que se publica como una esencia.
Lo ideal sería que la respuesta sería terminar con
merge(sites_a, sites_b, by = **magic**)
¿Puede proporcionar un pequeño subconjunto de sus datos (o proporcionarnos algunos datos falsos)? –
@ RomanLuštrik Aunque originalmente esta no era mi pregunta, tuve un problema similar, he creado algunos datos de muestra y he ofrecido una recompensa. –
@David has intentado 'merge (sites_a, sites_b, by = c (" lon "," lat "))'? En su caso, si desea fusionarse por nombres, tendrá que invertir más energía en hacer que los nombres coincidan en ambos data.frames (buena suerte, eh). –