Показать разницу между файлами или объектами - PullRequest
5 голосов
/ 18 октября 2011

Есть ли способ в R сравнивать объекты и возвращать что-то полезное, например, где есть различия?Мне нужно сравнить файлы, но я хочу прочитать их в data.frames.Это может быть лучше обработано из командной строки, но я хотел бы заключить мое тестирование в один R-скрипт.Моя следующая попытка будет использовать ddply для отправки каждой строки в функцию compare () и возврата номеров строк «FALSE», но это работает только до тех пор, пока у вас не будет одной вставки или удаления, тогда все остальное станет «FALSE».

Спасибо.

РЕДАКТИРОВАТЬ: файлы содержат комбинацию числовых и символьных данных.

Ответы [ 3 ]

8 голосов
/ 27 сентября 2017

Я знаю, что это было давно, но если кто-то еще наткнется на это ...

Если вы только просматриваете различия и не используете их в коде, см. Пакет diffr.

install.packages("diffr")
library(diffr)
diffr("file1.txt", "file2.txt", contextSize = 0, minJumpSize = 500)

Показывает общее содержимое обоих файлов рядом с различиями, выделенными в RStudio Viewer.

3 голосов
/ 19 октября 2011

system(paste("fc", <file1>, <file2>, "> difference.txt"))

похоже на работу. Мой Google-фу был выключен сегодня.

2 голосов
/ 18 октября 2011

Поскольку ваши файлы выглядят как обычный текст, инструмент командной строки diff отлично подойдет для этого.Существует один встроенный на Mac и Unix.Синтаксис прост:

$ diff <file1> <file2>

Существует также множество других доступных, а также оболочек GUI для различных ОС.На Mac мне нравятся Калейдоскоп и Delta Walker , если вам нужно объединить возможности.В Windows стандарт GUI: Beyond Compare .

...