trace_intermediate_sources: Trace the reported intermediate model back to its...

View source: R/tsqca_fiss_core.R

trace_intermediate_sourcesR Documentation

Trace the reported intermediate model back to its parsimonious source(s)

Description

With include = "?" and dir.exp, QCA::minimize() stores one entry in sol$i.sol for each pair of a complex solution (C1, C2, ...) and a parsimonious minimal solution (P1, P2, ...), named C1P1, C1P2, and so on. Each entry holds that parsimonious model in $p.sol and the intermediate model(s) obtained from it in $solution.

Usage

trace_intermediate_sources(sol)

Arguments

sol

A QCA::minimize() result with dir.exp specified.

Details

This helper picks the intermediate model that ThSQCA reports as M1 (the first model of i.sol$C1P1, else of the first entry, exactly as in qca_extract()), and returns every i.sol entry whose $solution contains that same model, together with those entries' parsimonious models. The core/peripheral comparison is then made against these source models only, not against tied parsimonious solutions from which the reported intermediate model was not obtained.

print(sol) groups entries whose $solution lists are identical ("From C1P1, C1P2:"). This helper instead keeps every entry that lists M1 among its models, including entries that also list other tied intermediate models. The set of sources is therefore the same as or larger than the printed grouping, which can only make the classification more conservative.

Value

NULL when sol$i.sol is missing, empty, or lacks $p.sol for a source entry (callers then fall back to recomputing the parsimonious solution). Otherwise a list with interm_terms (character), sources (character, entry names), parsim_models (list of character vectors, deduplicated), and parsim_labels (character, the P part of the first entry name for each model, e.g. "P2").


ThSQCA documentation built on Sept. 26, 2026, 5:07 p.m.