Rdiff {tools} | R Documentation |
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 |
forEx |
logical: extra pruning for ‘-Ex.Rout’ files to exclude headers and footers of examples, code and results for "--timings", etc. |
nullPointers |
logical: should the displayed addresses of
pointers be set to |
Log |
logical: should the returned value include a log of differences 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 – macOS uses an old GNU version.)
There is limited support for comparing PDF files produced by
pdf(compress = FALSE)
, mainly for use in make check
– this requires a diff
command and useDiff = TRUE
.
Mainly for use in examples and tests, text from marker
‘> ## IGNORE_RDIFF_BEGIN’ up to (but not including)
‘> ## IGNORE_RDIFF_END’ is ignored.
In examples, since R 4.4.0, the built-in Rd macro \dontdiff{}
can be used instead.
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 (invisibly), 0L
if and only if no
differences were found.
See Also
The shell script run as R CMD Rdiff
, which uses
useDiff = TRUE
.