NCA: Necessary Condition Analysis

Performs a Necessary Condition Analysis (NCA). (Dul, J. 2016. Necessary Condition Analysis (NCA). ”Logic and Methodology of 'Necessary but not Sufficient' causality." Organizational Research Methods 19(1), 10-52) <doi:10.1177/1094428115584005>. NCA identifies necessary (but not sufficient) conditions in datasets, where x causes (e.g. precedes) y. Instead of drawing a regression line ”through the middle of the data” in an xy-plot, NCA draws the ceiling line. The ceiling line y = f(x) separates the area with observations from the area without observations. (Nearly) all observations are below the ceiling line: y <= f(x). The empty zone is in the upper left hand corner of the xy-plot (with the convention that the x-axis is ”horizontal” and the y-axis is ”vertical” and that values increase ”upwards” and ”to the right”). The ceiling line is a (piecewise) linear non-decreasing line: a linear step function or a straight line. It indicates which level of x (e.g. an effort or input) is necessary but not sufficient for a (desired) level of y (e.g. good performance or output). A quick start guide for using this package can be found here: <> or <>.

Version: 4.0.1
Depends: R (≥ 3.5.0)
Imports: gplots, quantreg, KernSmooth, lpSolve, ggplot2, doParallel, foreach, iterators, plotly, truncnorm
Suggests: testthat
Published: 2024-02-23
DOI: 10.32614/CRAN.package.NCA
Author: Jan Dul
Maintainer: Govert Buijs <buijs at>
License: GPL (≥ 3)
NeedsCompilation: no
Materials: NEWS
CRAN checks: NCA results


Reference manual: NCA.pdf


Package source: NCA_4.0.1.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): NCA_4.0.1.tgz, r-oldrel (arm64): NCA_4.0.1.tgz, r-release (x86_64): NCA_4.0.1.tgz, r-oldrel (x86_64): NCA_4.0.1.tgz
Old sources: NCA archive


Please use the canonical form to link to this page.