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) , and generalized in Baumgartner & Ambuehl (2018) . CNA is designed to recover INUS-causation from data, which is particularly relevant for analyzing processes featuring conjunctural causation (component causation) and equifinality (alternative causation). CNA is currently the only method for INUS-discovery that allows for multiple effects (outcomes/endogenous factors), meaning it can analyze common-cause and causal chain structures.


Changes in version 2.1.0 (2018-06-01)

  • The package now comes with a vignette providing an extensive introduction to the methodological background and the package's usage.
  • Several functions have a noticeably faster implementation, most notably csf().
  • cna() has new arguments inus.only and details, and the default value of the argument what has changed from "mac" to "ac".
  • Various new model fit parameters, which are helpful e.g. in ambiguity reduction, can now be calculated by cna(): exhaustiveness, faithfulness, inus, redundant.
  • The package now provides functionalities for handling structural redundancies in complex solution formulas (csf).
  • New functions condTbl() and minimalizeCsf() have been added.
  • The way the output is displayed has slightly changed for some functions, in particular for truth tables and related tabular displays.
  • coherence() now returns 1 instead of NA for atomic solution formulas (asf).
  • condition() has a new argument
  • The syntax accepted by condition() has become more flexible.
  • msc, asf and csf have a new argument details.
  • truthTab() has a new argument verbose.
  • The option spaces is newly available for controlling the spacing in asf and csf.
  • Data with more than 26 factors can now be processed as well.

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.


3.2.0 by Mathias Ambuehl, 6 months ago

Browse source code at

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

Documentation:   PDF Manual  

GPL (>= 2) license

Imports Rcpp, utils, stats, Matrix, matrixStats, car

Suggests dplyr

Linking to Rcpp

Depended on by cnaOpt, frscore.

See at CRAN