Skip to contents

This function allows to select what part of the packet to compare, and in how much details.

Usage

orderly_comparison_explain(cmp, attributes = NULL, verbose = FALSE)

Arguments

cmp

An orderly_comparison object, as returned by orderly_compare_packets.

attributes

A character vector of attributes to include in the comparison. The values are keys of the packets' metadata, such as parameters or files. If NULL, the default, all attributes are compared, except those that differ in trivial way (i.e., id and time).

verbose

Control over how much information is printed. It can either be a logical, or a character scalar silent or summary.

Value

Invisibly, a logical indicating whether the packets are equivalent, up to the given attributes.

Examples

path <- orderly_example()
#>  Created orderly root at '/tmp/Rtmp3NBL3X/orderly2_ex_1cf16a116843'
id1 <- orderly_run("parameters", list(max_cyl = 6), root = path)
#>  Starting packet 'parameters' `20250807-155613-3a8e9853` at 2025-08-07 15:56:13.233181
#>  Parameters:
#> • max_cyl: 6
#> > # This declares that this orderly report accepts one parameter
#> > # 'max_cyl' with no default (i.e., it is required).
#> > pars <- orderly_parameters(max_cyl = NULL)
#> > orderly_artefact("data.rds", description = "Final data")
#> > # We can use the parameter by subsetting 'pars'; unlike regular R
#> > # lists you will get an error if you try and access a non-existent
#> > # element.
#> > data <- mtcars[mtcars$cyl <= pars$max_cyl, ]
#> > saveRDS(data, "data.rds")
#>  Finished running parameters.R
#>  Finished 20250807-155613-3a8e9853 at 2025-08-07 15:56:13.263638 (0.03045654 secs)
id2 <- orderly_run("parameters", list(max_cyl = 4), root = path)
#>  Starting packet 'parameters' `20250807-155613-4959e052` at 2025-08-07 15:56:13.291007
#>  Parameters:
#> • max_cyl: 4
#> > # This declares that this orderly report accepts one parameter
#> > # 'max_cyl' with no default (i.e., it is required).
#> > pars <- orderly_parameters(max_cyl = NULL)
#> > orderly_artefact("data.rds", description = "Final data")
#> > # We can use the parameter by subsetting 'pars'; unlike regular R
#> > # lists you will get an error if you try and access a non-existent
#> > # element.
#> > data <- mtcars[mtcars$cyl <= pars$max_cyl, ]
#> > saveRDS(data, "data.rds")
#>  Finished running parameters.R
#>  Finished 20250807-155613-4959e052 at 2025-08-07 15:56:13.321612 (0.03060508 secs)
cmp <- orderly_compare_packets(id1, id2, root = path)

orderly_comparison_explain(cmp)
#>  Comparing packets 20250807-155613-3a8e9853 and 20250807-155613-4959e052...
#>  Comparing attribute `parameters`
#> < 20250807-155613-3a8e9853$parameters
#> > 20250807-155613-4959e052$parameters
#> @@ 1,3 / 1,3 @@  
#>   $max_cyl       
#> < [1] 6          
#> > [1] 4          
#>                  
#>  The following files exist in both packets but have different contents:
#>   • data.rds
#>  Use `orderly_comparison_explain(..., "files", verbose = TRUE)` to compare the files' contents.
orderly_comparison_explain(cmp, verbose = TRUE)
#>  Comparing packets 20250807-155613-3a8e9853 and 20250807-155613-4959e052...
#>  Comparing attribute `parameters`
#> < 20250807-155613-3a8e9853$parameters
#> > 20250807-155613-4959e052$parameters
#> @@ 1,3 / 1,3 @@  
#>   $max_cyl       
#> < [1] 6          
#> > [1] 4          
#>                  
#> ! The following files differ across packets, but could not be compared as their content is binary:
#>   • data.rds
orderly_comparison_explain(cmp, "parameters", verbose = TRUE)
#>  Comparing packets 20250807-155613-3a8e9853 and 20250807-155613-4959e052...
#>  Comparing attribute `parameters`
#> < 20250807-155613-3a8e9853$parameters
#> > 20250807-155613-4959e052$parameters
#> @@ 1,3 / 1,3 @@  
#>   $max_cyl       
#> < [1] 6          
#> > [1] 4          
#>