% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/feature_nca.R
\name{assess_nca}
\alias{assess_nca}
\title{Necessary Condition Analysis (NCA) for PLS-SEM Models}
\usage{
assess_nca(
  seminr_model,
  target,
  predictors = NULL,
  ceilings = c("ce_fdh", "cr_fdh"),
  test.rep = 1000,
  steps = 10,
  seed = 123,
  ...
)
}
\arguments{
\item{seminr_model}{An estimated SEMinR model from \code{estimate_pls()}.}

\item{target}{Name of the endogenous (outcome) construct (character).}

\item{predictors}{Optional character vector of predictor construct names.
If \code{NULL} (default), auto-detected from the structural model as
direct predictors of \code{target}.}

\item{ceilings}{Character vector of ceiling techniques to use
(default \code{c("ce_fdh", "cr_fdh")}).}

\item{test.rep}{Number of permutation test repetitions for significance
testing (default 1000). Set to 0 to skip significance testing.}

\item{steps}{Number of steps in the bottleneck table (default 10).}

\item{seed}{Random seed for reproducibility (default 123).}

\item{...}{Additional arguments (currently unused).}
}
\value{
An object of class \code{nca_analysis} containing:
  \item{nca_raw}{Reserved (always NULL)}
  \item{effect_sizes}{Matrix of effect sizes (d) per predictor and ceiling}
  \item{significance}{Matrix of p-values per predictor and ceiling (NULL if test.rep = 0)}
  \item{bottleneck}{List of bottleneck tables, one per ceiling technique}
  \item{pls_model}{The original estimated seminr model}
  \item{target}{Name of the target construct}
  \item{predictors}{Character vector of predictor names used}
  \item{ceilings}{Character vector of ceiling techniques used}
}
\description{
`assess_nca` conducts a Necessary Condition Analysis on construct scores
from an estimated PLS-SEM model. It identifies whether predictors are
necessary conditions for achieving a given level of the target construct.
}
\details{
NCA complements PLS-SEM's sufficiency-based regression by testing whether
a certain level of a predictor is \emph{necessary} (but not sufficient)
for a certain level of the outcome. A predictor is considered a necessary
condition when it has an effect size (d) >= 0.1 and a significant p-value
(p < 0.05).

The function extracts construct scores from the seminr model, auto-detects
direct predictors of the target from the structural model, and computes
ceiling envelopes using the specified techniques.
}
\examples{
library(seminr)
library(seminrExtras)

mobi_mm <- constructs(
  composite("Image",        multi_items("IMAG", 1:5)),
  composite("Value",        multi_items("PERV", 1:2)),
  composite("Satisfaction", multi_items("CUSA", 1:3)),
  composite("Loyalty",      multi_items("CUSL", 1:3))
)

mobi_sm <- relationships(
  paths(from = c("Image", "Value"), to = "Satisfaction"),
  paths(from = "Satisfaction", to = "Loyalty")
)

mobi_pls <- estimate_pls(data = mobi,
                          measurement_model = mobi_mm,
                          structural_model  = mobi_sm)

\donttest{
nca_result <- assess_nca(mobi_pls,
                          target = "Satisfaction",
                          test.rep = 100)
print(nca_result)
summary(nca_result)
plot(nca_result, type = "effects")
}

}
\references{
Dul, J. (2016). Necessary Condition Analysis (NCA): Logic and Methodology
of 'Necessary but Not Sufficient' Causality. Organizational Research
Methods, 19(1), 10-52.

Richter, N. F., Schubring, S., Hauff, S., Ringle, C. M., & Sarstedt, M.
(2020). When predictors of outcomes are necessary: guidelines for the
combined use of PLS-SEM and NCA. Industrial Management & Data Systems,
120(12), 2243-2267.
}
