This function uses the
pseudo Johnson-Neyman approach
proposed by Hayes (2022) to find the
values of a moderator at which a
conditional effect is
"nearly just significant" based on
confidence interval. If an effect is
moderated, there will be two such
points (though one can be very large
or small) forming a range.
The conditional effect
is not significant within this range,
and significant outside this range,
based on the confidence interval.
This function receives the output
of cond_indirect_effects()
and search for, within
a specific range, the two values of
the moderator at which
the conditional effect is "nearly just significant",
that is, the confidence interval
"nearly touches" zero.
Note that numerical method is used
to find the points. Therefore,
strictly speaking, the effects at
the end points are still either
significant or not significant, even
if the confidence limit is very close
to zero.
Though numerical method is used,
if the test is conducted using the
standard error (see below), the result is
equivalent to the (true)
Johnson-Neyman (1936) probing.
The function johnson_neyman()
is
just an alias to pseudo_johnson_neyman()
,
with the name consistent with what
it does in this special case.
Supported Methods
This function supports models fitted
by lm()
, lavaan::sem()
,
and semTools::sem.mi()
. This function
also supports both bootstrapping
and Monte Carlo confidence intervals.
It also supports conditional
direct paths (no mediator) and
conditional indirect paths (with one
or more mediator), with x
and/or
y
standardized.
Requirements
To be eligible for using this function,
one of these conditions must be met:
One form of confidence intervals
(e.g, bootstrapping or Monte Carlo)
must has been requested (e.g.,
setting boot_ci = TRUE
or
mc_ci = TRUE
) when calling
cond_indirect_effects()
.
Tests can be done using stored
standard errors: A path with no
mediator and both the x
- and
y
-variables are not standardized.
For pre-computed confidence intervals,
the confidence level of the confidence
intervals adopted when calling
cond_indirect_effects()
will be used
by this function.
For tests conducted by standard
errors, the argument level
is used
to control the level of significance.
Possible failures
Even if a path has only one moderator,
it is possible that no solution, or
more than one solution, is/are found
if the relation between this moderator
and the conditional effect is not linear.
Solution may also be not found if
the conditional effect is significant
over a wide range of value of the
moderator.
It is advised to use plot_effect_vs_w()
to examine the relation between the
effect and the moderator first before
calling this function.
Speed
Note that, for conditional indirect
effects, the search can be slow
because the confidence interval needs
to be recomputed for each new value
of the moderator.
Limitations
This function currently only supports
a path with only one moderator,
This function does not yet support
multigroup models.