The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Reading qcaERT result objects

qcaERT functions are designed as siblings. The details differ by test, but the main returned-object structure is intentionally shared.

The code fragments in this vignette use object names such as incl_out, calib_out, and cluster_out. The getting-started vignette shows how to create those objects in a normal QCA workflow.

Most robustness objects contain:

Main summaries are:

print(x)
as.data.frame(x)
x$results
x$diagnostics

print(x) gives a concise summary. as.data.frame(x) returns the clean table. x$diagnostics is where to look when you need to understand a specific run, case, draw, or stopping reason.

Boundary tests

incl.test(), ncut.test(), and calib.test() are boundary tests. They move a quantity away from the baseline until either the monitored solution changes, an error occurs, or the search reaches a limit.

as.data.frame(incl_out)
incl_out$diagnostics
incl_out$bounds

as.data.frame(ncut_out)
ncut_out$diagnostics
ncut_out$bounds

as.data.frame(calib_out)
calib_out$diagnostics
calib_out$bounds

The clean table answers the practical question: how far did the value move before the result stopped being stable?

The diagnostics table preserves the path-level detail.

Case and sample tests

loo.test() gives one row per removed case. subsample.test() gives one row per subsample run.

as.data.frame(loo_out)
loo_out$diagnostics
loo_out$by_case

as.data.frame(subsample_out)
subsample_out$diagnostics
subsample_out$by_run
subsample_out$summary

Use the clean table to find cases or runs that changed the solution. Use the supporting list components when you need the full run object for a specific case or replication.

Alternative-set tests

altset.test() gives one row per random draw. The result object also stores the draw-level run details and aggregate scores.

as.data.frame(altset_out)
altset_out$diagnostics
altset_out$by_draw
altset_out$summary

The clean table is for scanning. The summary component is for stability scores across all draws. When calibration is part of the sampled draw, changed_sets names the perturbed calibrated sets and changed_roles records whether those sets were conditions, the outcome, or both.

Cluster tests

cluster.test() and theory.test() are the deliberate structured-result exceptions. For cluster.test(), results is a list:

cluster_out$results$overview
cluster_out$results$clusters
cluster_out$results$units

as.data.frame(cluster_out)
cluster_out$diagnostics

For cluster.test(), as.data.frame(cluster_out) returns cluster_out$results$overview.

Theory tests

theory.test() is also structured because comparative theory testing has three natural clean tables:

as.data.frame(theory_out)
theory_out$results$models
theory_out$results$solutions
theory_out$results$pairwise
theory_out$diagnostics
theory_out$by_theory

For theory.test(), as.data.frame(theory_out) returns theory_out$results$models. Inspect results$solutions when the question is which terms were selected, and inspect results$pairwise when the question is how far selected solution memberships differ across theories.

Solution tables

sol.df() returns a regular data frame directly.

tab <- sol.df(intermediate = sol, solution = "intermediate")
tab
is.data.frame(tab)

Use sol.df() when you want to report or inspect QCA minimization output in a compact table.

What to inspect first

In normal use, inspect objects in this order:

  1. Print the object.
  2. Call as.data.frame(x) for the clean table.
  3. Look at x$summary if the function has one.
  4. Open x$diagnostics only when you need the full detail.
  5. For cluster.test(), inspect x$results$clusters and x$results$units after checking the overview.
  6. For theory.test(), inspect x$results$solutions and x$results$pairwise after checking the model table.

The same conventions are described formally in ?qcaERT_conventions.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.