Diagnose and compare designs.

```
compare_diagnoses(
design1,
design2,
sims = 500,
bootstrap_sims = 100,
merge_by_estimator = TRUE,
alpha = 0.05
)
```

- design1
A design or a diagnosis.

- design2
A design or a diagnosis.

- sims
The number of simulations, defaulting to 1000.

`sims`

may also be a vector indicating the number of simulations for each step in a design, as described for`simulate_design`

. Used for both designs.- bootstrap_sims
Number of bootstrap replicates for the diagnosands to obtain the standard errors of the diagnosands, defaulting to

`1000`

. Set to`FALSE`

to turn off bootstrapping. Used for both designs. Must be greater or equal to 100.- merge_by_estimator
A logical. Whether to include

`estimator`

in the set of columns used for merging. Defaults to`TRUE`

.- alpha
The significance level, 0.05 by default.

A list with a `data.frame`

of compared diagnoses and both diagnoses.

The function `compare_diagnoses`

runs a many-to-many merge matching by `inquiry`

and `term`

(if present). If `merge_by_estimator`

equals `TRUE`

, `estimator`

is also included in the merging condition. Any diagnosand that is not included in both designs will be dropped from the merge.

```
design_a <- declare_model(N = 100,
U = rnorm(N),
Y_Z_0 = U,
Y_Z_1 = U + rnorm(N, mean = 2, sd = 2)) +
declare_assignment(Z = complete_ra(N, prob = 0.5)) +
declare_inquiry(ATE = mean(Y_Z_1 - Y_Z_0)) +
declare_measurement(Y = reveal_outcomes(Y ~ Z)) +
declare_estimator(Y ~ Z, inquiry = "ATE")
design_b <- replace_step(
design_a, step = "assignment",
declare_assignment(Z = complete_ra(N, prob = 0.3)) )
comparison <- compare_diagnoses(design_a, design_b, sims = 40)
```