Causal Modeling with Coincidence Analysis

Provides comprehensive functionalities for causal modeling with Coincidence Analysis (CNA), which is a configurational comparative method of causal data analysis that was first introduced in Baumgartner (2009) . CNA is related to Qualitative Comparative Analysis (QCA), but contrary to the latter, it is custom-built for uncovering causal structures with multiple outcomes and it builds causal models from the bottom up by gradually combining single factors to complex dependency structures until the requested thresholds of model fit are met. The new functionalities provided by this package version include various new parameters of model fit, as exhaustiveness and faithfulness, and a test for structural redundancies in multi-outcome models with a corresponding function that eliminates such redundancies. Also, the algorithmic efficiency has been significantly increased. Finally, the package now comes with an extensive vignette.


Changes in version 2.0.0 (2017-04-11)

  • Most functions in the package have been fundamentally redesigned or revised. Although we tried to maintain backward compatibility where it was reasonably achievable, code compatible with older versions will not work in many cases.
  • Three different types of data are now handled: crisp-set, multi-value, and fuzzy-set. Accordingly, several functions have a type argument with possible values "cs", "mv", "fs".
  • truthTab() has new arguments: type, rm.dup.factors, rm.const.factors and .cases. The argument switch has been removed.
  • The new convenience functions cstt(), mvtt() and fstt() provide easy access to truthTab().
  • condition() is now able to handle complex expressions.
  • New arguments in condition(): type, force.bool, rm.parentheses.
  • The convenience functions cscond(), mvcond() and fscond() provide easy access to condition().
  • cna() uses a different (more general and usually faster) algorithm to find solutions.
  • New arguments in cna(): type, con.msc, rm.const.factors, rm.dup.factors, only.minimal.msc, maxSol, cutoff, border.
  • The meaning of the argument maxstep in cna() has changed.
  • The convenience functions cscna(), mvcna() and fscna() provide easy access to cna().
  • complexity has been added in the output of msc(), asf() and csf(). coherence has been added in the output of csf().
  • The new functions allCombs(), makeFuzzy(), selectCases(), selectCases1() and some() facilitate the generation of simulated data for inverse search trials that assess the correctness of models output by cna.
  • Additional new functions: fs2tt(), coherence().
  • New data sets: d.autonomy, d.jobsecurity, d.pacts, d.pban.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.1.1 by Mathias Ambuehl, 4 months ago

Browse source code at

Authors: Mathias Ambuehl [aut, cre, cph] , Michael Baumgartner [aut, cph] , Ruedi Epple [ctb] , Alrik Thiem [ctb]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports Rcpp, utils, stats, matrixStats

Suggests dplyr

Linking to Rcpp

See at CRAN