Learn R Programming

tools (version 3.6.2)

Rdiff: Difference R Output Files

Description

Given two R output files, compute differences ignoring headers, footers and some other differences.

Usage

Rdiff(from, to, useDiff = FALSE, forEx = FALSE,
      nullPointers = TRUE, Log = FALSE)

Arguments

from, to

filepaths to be compared

useDiff

should diff always be used to compare results?

forEx

logical: extra pruning for -Ex.Rout files to exclude the header.

nullPointers

logical: should the displayed addresses of pointers be set to 0x00000000 before comparison?

Log

logical: should the returned value include a log of differences found?

Value

If Log is true, a list with components status (see below) and out, a character vector of descriptions of differences, possibly of zero length.

Otherwise, a status indicator, 0L if and only if no differences were found.

Details

The R startup banner and any timing information from R CMD BATCH are removed from both files, together with lines about loading packages. UTF-8 fancy quotes (see sQuote) and on Windows, Windows' so-called ‘smart quotes’, are mapped to a simple quote. Addresses of environments, compiled bytecode and other exotic types expressed as hex addresses (e.g., <environment: 0x12345678>) are mapped to 0x00000000. The files are then compared line-by-line. If there are the same number of lines and useDiff is false, a simple diff -b -like display of differences is printed (which ignores trailing spaces and differences in numbers of consecutive spaces), otherwise diff -bw is called on the edited files. (This tries to ignore all differences in whitespace: note that flag -w is not required by POSIX but is supported by GNU, Solaris and FreeBSD versions.)

This can compare uncompressed PDF files, ignoring differences in creation and modification dates.

Mainly for use in examples, text from marker > ## IGNORE_RDIFF_BEGIN up to (but not including) > ## IGNORE_RDIFF_END is ignored.

See Also

The shell script run as R CMD Rdiff.