Сравнение двух фреймов данных с использованием all.equal

#r #dataframe #dplyr #similarity

Вопрос:

У меня есть два кадра данных, которые содержат одни и те же столбцы. Но для некоторых проблем с импортом данных/различий в источниках данных классы одних и тех же столбцов в двух кадрах данных могут отличаться. Я хочу использовать all.equal только для проверки того, совпадают ли значения в обоих кадрах данных. Если они не совпадают, я хочу знать номер строки и столбца, в которых заключается разница. Я не хочу знать, отличаются ли классы. Как я могу это сделать, используя all.equal?

Вот мой результат до сих пор, и я не могу в нем разобраться:

 [1] "Component “ins_name”: 32 string mismatches"   [2] "Component “reg_no”: Mean relative difference: 0.02519084"   [3] "Component “company_id”: 11 string mismatches"   [4] "Component “company_name”: 14 string mismatches"   [5] "Component “rep_date”: Attributes: lt; Length mismatch: comparison on first 1 components gt;"   [6] "Component “rep_date”: Attributes: lt; Component “class”: Lengths (1, 2) differ (string compare on first 1) gt;"  [7] "Component “rep_date”: Attributes: lt; Component “class”: 1 string mismatch gt;"   [8] "Component “rep_date”: target is Date, current is POSIXct"   [9] "Component “au_date”: Attributes: lt; Length mismatch: comparison on first 1 components gt;"  [10] "Component “au_date”: Attributes: lt; Component “class”: Lengths (1, 2) differ (string compare on first 1) gt;"  [11] "Component “au_date”: Attributes: lt; Component “class”: 1 string mismatch gt;"  [12] "Component “au_date”: target is Date, current is POSIXct"  [13] "Component “industry”: 9 string mismatches"  [14] "Component “totalhours”: Mean relative difference: 0.1774153"   

Заранее спасибо!

Комментарии:

1. Является ли исходный источник данных csv, xlsx или чем-то еще? Если это xlsx, то вы можете использовать tidyxl пакет, который сохраняет тип данных оригинала по ячейкам.

2. Выберите 1 фрейм данных в качестве ведущего и преобразуйте другие классы фреймов данных в класс ведущего.