用途:面向中小样本的组态研究,把案例视为条件组合,回答哪些条件组合对结果是充分或必要的。基于集合论,强调殊途同归、组合因果与非对称性,不是净效应回归。
主要能力:支持清晰集(csQCA)、多值集(mvQCA)和模糊集(fsQCA);将原始变量校准为集合隶属度;构建真值表;进行布尔最小化,输出保守解、简约解与中间解;报告充分性一致性 inclS、PRI、原始覆盖 covS、唯一覆盖 covU,以及必要性 inclN、RoN;pof() 可检验特定表达式拟合参数,SetMethods 可补充必要性/充分性 XY 图、稳健性与聚类数据诊断。
使用方式:无维护良好的 Python QCA 库,领域标准是 R 的 QCA 包,通过 Rscript 调用。核心调用为 library(QCA);用 calibrate(raw$A, type = "fuzzy", thresholds = c(4, 6, 8)) 校准;用 truthTable(df, outcome = "OUT", conditions = c("A","B","C"), incl.cut = 0.80, n.cut = 1, show.cases = TRUE, sort.by = "incl") 建表;用 minimize(tt, details = TRUE) 得保守解,minimize(tt, include = "?", details = TRUE) 得简约解,minimize(tt, include = "?", dir.exp = "A, B, C", details = TRUE) 得中间解。dir.exp 中 "A, ~B" 表示预期 A 存在、B 不存在。
适用场景:约 20 个案例左右的组态研究,需要检验条件组合的充分性与必要性、进行校准与真值表分析时。
限制与注意:校准是理论行为,三个阈值需有实质依据,避免隶属度恰为 0.5;应同时报告简约解与中间解并说明所用逻辑余项;先做必要性分析再做充分性最小化,不可混读;一致性优先于覆盖度,通常 inclS ≥ .80 才解释覆盖度。若 R 不可用,参考资料中有优雅降级说明。完整可运行模板与校准指南见 references/qca_in_r.md。