Sto lavorando con R da uno sfondo SAS/SQL e sto cercando di scrivere codice per prendere due tabelle, confrontarle e fornire un elenco delle discrepanze. Questo codice dovrebbe essere usato ripetutamente per molti diversi gruppi di tabelle, quindi ho bisogno di evitare hardcoding.Trova discrepanze tra due tabelle
Sto lavorando con Identifying specific differences between two data sets in R, ma non mi arriva fino in fondo.
Esempio Dati, utilizzando la combinazione del cognome/FirstName (che è unico) come chiave -
Dataset One --
Last_Name First_Name Street_Address ZIP VisitCount
Doe John 1234 Main St 12345 20
Doe Jane 4321 Tower St 54321 10
Don Bob 771 North Ave 23232 5
Smith Mike 732 South Blvd. 77777 3
Dataset Two --
Last_Name First_Name Street_Address ZIP VisitCount
Doe John 1234 Main St 12345 20
Doe Jane 4111 Tower St 32132 17
Donn Bob 771 North Ave 11111 5
Desired Output --
LastName FirstName VarName TableOne TableTwo
Doe Jane StreetAddress 4321 Tower St 4111 Tower St
Doe Jane Zip 23232 32132
Doe Jane VisitCount 5 17
Si noti che questa uscita ignora i record in cui non ho lo stesso ID in entrambe le tabelle (ad esempio, poiché il cognome di Bob è "Don" in una tabella e "Donn" in un'altra tabella, ignoriamo completamente tale record).
Ho esplorato questo facendo applicando la funzione di fusione su entrambi i set di dati, e poi confrontandoli, ma i dati di dimensione con cui sto lavorando indicano che non sarebbe pratico. In SAS, ho usato Proc Compare per questo tipo di lavoro, ma non ho trovato un equivalente esatto in R.
Qual è la dimensione dei dati? Forse è un'interessante informazione da includere nella tua domanda. :) – Bonifacio2
Non vuoi includere John Doe nel risultato? Il suo nome si ripete in entrambi. O vuoi solo le differenze se non sono duplicati esatti? –
La dimensione dei dati varia molto, ma in genere supera a circa 1 milione di record. – Netbrian