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/Rtmp6Hh44x/orderly2_ex_1d3e811c384'
id1 <- orderly_run("parameters", list(max_cyl = 6), root = path)
#>  Starting packet 'parameters' `20250901-150640-0df76373` at 2025-09-01 15:06:40.059044
#>  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 20250901-150640-0df76373 at 2025-09-01 15:06:40.089581 (0.03053617 secs)
id2 <- orderly_run("parameters", list(max_cyl = 4), root = path)
#>  Starting packet 'parameters' `20250901-150640-1cbc5942` at 2025-09-01 15:06:40.116781
#>  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 20250901-150640-1cbc5942 at 2025-09-01 15:06:40.147257 (0.03047585 secs)
cmp <- orderly_compare_packets(id1, id2, root = path)

orderly_comparison_explain(cmp)
#>  Comparing packets 20250901-150640-0df76373 and 20250901-150640-1cbc5942...
#>  Comparing attribute `parameters`
#> < 20250901-150640-0df76373$parameters
#> > 20250901-150640-1cbc5942$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 20250901-150640-0df76373 and 20250901-150640-1cbc5942...
#>  Comparing attribute `parameters`
#> < 20250901-150640-0df76373$parameters
#> > 20250901-150640-1cbc5942$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 20250901-150640-0df76373 and 20250901-150640-1cbc5942...
#>  Comparing attribute `parameters`
#> < 20250901-150640-0df76373$parameters
#> > 20250901-150640-1cbc5942$parameters
#> @@ 1,3 / 1,3 @@  
#>   $max_cyl       
#> < [1] 6          
#> > [1] 4          
#>