Ho due frame di dati (x & y) dove gli ID sono student_name
, father_name
e mother_name
. A causa di errori tipografici ("n" invece di "m", spazi bianchi casuali, ecc.), Ho circa il 60% dei valori che non si allineano, anche se posso guardare i dati e vedere che dovrebbero. C'è un modo per ridurre il livello di non corrispondenza in qualche modo in modo che il montaggio manuale sia almeno possibile? I dataframes hanno circa 700K di osservazioni.Fusione attraverso la corrispondenza fuzzy di variabili in R
R sarebbe meglio. Conosco un po 'di python e alcuni strumenti unix di base. Post scriptum Ho letto su agrep()
, ma non capisco come possa funzionare sui dataset attuali, specialmente quando la partita ha più di una variabile.
aggiornamento (i dati per taglie scritto):
Here sono due telai ad esempio dati, sites_a
e sites_b
. Potrebbero essere abbinati alle colonne numeriche lat
e lon
e alla colonna sitename
. Sarebbe utile sapere come ciò potrebbe essere fatto a) solo lat
+ lon
, b) sitename
o c) entrambi.
è possibile trovare il file test_sites.R che viene pubblicato come un elenco.
Idealmente la risposta finirebbe con
merge(sites_a, sites_b, by = **magic**)
Potete fornire un piccolo sottoinsieme di dati (o fornirci dati falsi)? –
@ RomanLuštrik Anche se questa non era originariamente la mia domanda, ho avuto un problema simile, ho creato alcuni dati di esempio e offerto una taglia. –
@David hai provato a unire (sites_a, sites_b, by = c ("lon", "lat")) '? Nel tuo caso, se vuoi unirmi per nome, dovrai investire più energia per far coincidere i nomi in entrambi i data.frames (buona fortuna, eh). –