nsca_joint: Joint strength of the two components

View source: R/joint.R

nsca_jointR Documentation

Joint strength of the two components

Description

Combines a necessity effect size and a sufficiency effect size into one joint index, with an explicit choice of how much the stronger component may compensate for the weaker one.

Usage

nsca_joint(d_nec, d_suf, p = 0, normalize = TRUE)

Arguments

d_nec, d_suf

Necessity and sufficiency effect sizes. Vectors are recycled to a common length.

p

Degree of the power mean; the degree of compensation. Defaults to 0, the geometric mean.

normalize

Multiply by two so that the index spans ⁠[0, 1]⁠. The guarantee rests on ⁠M_p <= (d_nec + d_suf)/2 <= 0.5⁠ and therefore holds only for p <= 1.

Details

The index is the power mean M_p = ((d_{nec}^p + d_{suf}^p)/2)^{1/p}, optionally doubled so that it spans ⁠[0, 1]⁠. The parameter p is the degree of compensation:

p = -Inf

min(d_nec, d_suf). Fully non-compensatory: no amount of strength on one side raises the index if the other side is weak. This is the weakest_effect column of nsca_table(), reported there unnormalised so that it stays on the components' own scale.

p = -1

The harmonic mean. Less compensatory than the geometric mean, still zero as soon as either component is zero.

p = 0

The geometric mean. Partially compensatory: a larger component does raise the index, but at a diminishing rate, and the index still collapses to zero if either component does. This is the balanced_joint_effect column of nsca_table().

p = 1

The arithmetic mean, that is, half the sum. Fully compensatory: one strong component alone can carry the index, so a necessary-only relation scores as highly as a necessary-and-sufficient one. This is why the sum is a poor conjunction summary, but it is the same family, not a different kind of quantity.

The geometric mean is the middle course, and describing it as a non-compensatory "AND" would overstate it. What it does is penalise asymmetry: at an equal sum of 0.80, ⁠(0.40, 0.40)⁠ gives 0.80 and ⁠(0.70, 0.10)⁠ gives 0.529.

No magnitude benchmarks are supplied. Conventions for a single NCA effect size do not transfer, because this index has a different scale and a different null: under independence both components carry a positive finite-sample bias that a product of the two amplifies rather than cancels, and its size depends on n, the frontier technique and the scope. Calibrate by simulation on the design at hand before attaching words to values.

Value

A numeric vector, NA where either component is missing or negative.

See Also

nsca_table(), nsca_analysis()

Examples

nsca_joint(0.40, 0.40)              # balanced
nsca_joint(0.70, 0.10)              # same sum, penalised for asymmetry
nsca_joint(0.40, 0.40, p = -Inf)    # the minimum, normalised
nsca_joint(0.40, 0.40, p = -Inf, normalize = FALSE)   # weakest_effect

NSCA documentation built on Oct. 10, 2026, 5:08 p.m.