Как вывести точное значение, которое отличается при сравнении двух фреймов данных в R?

#r #csv #dataframe #compare

#r #csv #фрейм данных #Сравнить

Вопрос:

два CSV считываются в два разных фрейма данных. при сравнении существует требование, которое отображает точное значение там, где существует разница.

Я пробовал which использовать для них методы. он возвращает некоторые индексы, которые указывают на разницу между фреймами данных. Я попробовал приведенный ниже код:

test.data <- fread("file1.csv",stringsAsFactors = FALSE,blank.lines.skip = TRUE)
truth.data <- fread("file2.csv",stringsAsFactors = DALSE,blank.lines.skip = TRUE)
mismatch <- which(data.frame(test.data) != data.frame(truth.data))
print(mismatch)

пример truth.data
образец test.data

его which выводом являются индексы, такие как:

несоответствие > «3» «4» «8» » 9″

При доступе к различным значениям фреймов данных с помощью индексов, но либо оно выходит за рамки фрейма, либо печатается NA .

Я также пробовал setdiff() anti_join() методы and, но они будут показывать только разные значения первого фрейма данных test.data .

print(anti_join(data.frame(test.data), data.frame(truth.data)))

print(setdiff(data.frame(test.data), data.frame(truth.data)))

требуемый вывод такой, как предположим, в некоторой строке и определенном столбце в test.данные отличаются от truth.data. таким образом, эти оба разных значения должны отображаться на консоли.

например: как мы видим, два столбца из обоих образцов отличаются, поэтому мне нужно показать разные значения обоих фреймов данных рядом, чтобы мы могли легко различать их. количество столбцов может меняться, и более двух строк или столбцов имеют разные значения.

Помогите мне в этом. Заранее спасибо!!!

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

1. Пожалуйста, добавьте образцы данных dput или некоторые фиктивные данные, с которыми мы можем работать.

2. Я обновил вопрос, а также упомянул результат. Теперь помогите решить эту проблему.