Я работаю с R из фона SAS/SQL и пытаюсь написать код, чтобы взять две таблицы, сравнить их и предоставить список расхождений. Этот код будет использоваться повторно для многих разных наборов таблиц, поэтому мне нужно избегать жесткого кодирования.
Я работаю с Идентификация конкретных различий между двумя наборами данных в R, но он не доводит меня до конца.
Пример данных, используя комбинацию LastName/FirstName (которая является уникальной) в качестве ключа -
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
Обратите внимание, что этот вывод игнорирует записи, в которых у меня нет одинакового идентификатора в обеих таблицах (например, поскольку фамилия Боба "Дон" в одной таблице и "Донн" в другой таблице, мы полностью игнорируем эту запись).
Я исследовал это, применяя функцию расплава на обоих наборах данных, а затем сравнивая их, но данные размера, с которыми я работаю, показывают, что это было бы непрактично. В SAS я использовал Proc Compare для такого рода работ, но я не нашел точного эквивалента в R.