Test all moderation
effects by testing all product
terms for a power4test
object.
Usage
test_moderation(
fit = fit,
standardized = FALSE,
check_post_check = TRUE,
...,
fit_name = "fit",
get_map_names = FALSE,
get_test_name = FALSE
)
Arguments
- fit
The fit object, to be passed to
lavaan::parameterEstimates()
,lavaan::standardizedSolution()
, orlmhelprs::lm_list_to_partable()
.- standardized
Logical. If
TRUE
,lavaan::standardizedSolution()
will be used. Can be used only with models fitted bylavaan
.- check_post_check
Logical. If
TRUE
, the default, and the model is fitted bylavaan
, the test will be conducted only if the model passes thepost.check
conducted bylavaan::lavInspect()
(withwhat = "post.check"
).- ...
Additional arguments to be passed to
lavaan::parameterEstimates()
,lavaan::standardizedSolution()
, orlmhelprs::lm_list_to_partable()
.- fit_name
The name of the fit results for which the parameter names will be displayed. Default is
"fit"
.- get_map_names
Logical. Used by
power4test()
to determine how to extract stored information and assign them to this function. Users should not use this argument.- get_test_name
Logical. Used by
power4test()
to get the default name of this test. Users should not use this argument.
Value
In its normal usage, it returns
the output returned by
lavaan::parameterEstimates()
or lmhelprs::lm_list_to_partable()
,
with the following modifications:
est
: The parameter estimates, even if standardized estimates are requested (notest.std
).cilo
andcihi
: The lower and upper limits of the confidence interval (95% by default), respectively (notci.lower
andci.upper
).sig
: Whether a test by confidence interval is significant (1
) or not significant (0
).test_label
: A column of labels generated bylavaan::lav_partable_labels()
, which are usually the labels used bycoef()
to label the parameters.
Details
This function is to be used in
power4test()
for testing all
product terms, by
setting it to the test_fun
argument.
It is just a wrapper to
test_parameters()
. It will
first identifies all product
terms (terms with :
in the names),
and then call test_parameters()
,
with pars
set to select the
regression coefficients of these
terms.
Examples
# Specify the model
mod <-
"
m ~ x + w1 + x:w1
y ~ m + x
"
# Specify the population values
mod_es <-
"
m ~ x: n
y ~ x: m
m ~ w1: n
m ~ x:w1: l
"
# Simulate the data
sim_only <- power4test(nrep = 4,
model = mod,
pop_es = mod_es,
n = 100,
do_the_test = FALSE,
iseed = 1234)
#> Simulate the data:
#> Fit the model(s):
# Do the test in each replication
test_out <- power4test(object = sim_only,
test_fun = test_moderation)
#> Do the test: test_moderation: CIs
print(test_out,
test_long = TRUE)
#>
#> ====================== Model Information ======================
#>
#> == Model on Factors/Variables ==
#>
#> m ~ x + w1 + x:w1
#> y ~ m + x
#>
#> == Model on Variables/Indicators ==
#>
#> m ~ x + w1 + x:w1
#> y ~ m + x
#>
#> ====== Population Values ======
#>
#> Regressions:
#> Population
#> m ~
#> x 0.000
#> w1 0.000
#> x:w1 0.150
#> y ~
#> m 0.000
#> x 0.300
#>
#> Covariances:
#> Population
#> x ~~
#> w1 0.000
#> x:w1 0.000
#> w1 ~~
#> x:w1 0.000
#>
#> Variances:
#> Population
#> .m 0.977
#> .y 0.910
#> x 1.000
#> w1 1.000
#> x:w1 1.000
#>
#> (Computing indirect effects for 1 paths ...)
#>
#> (Computing conditional effects for 2 paths ...)
#>
#> == Population Conditional/Indirect Effect(s) ==
#>
#> == Effect(s) ==
#>
#> ind
#> x -> y 0.300
#>
#> - The 'ind' column shows the effect(s).
#>
#> == Conditional indirect effects ==
#>
#> Path: x -> m -> y
#> Conditional on moderator(s): w1
#> Moderator(s) represented by: w1
#>
#> [w1] (w1) ind m~x y~m
#> 1 M+1.0SD 1 0 0.150 0
#> 2 Mean 0 0 0.000 0
#> 3 M-1.0SD -1 0 -0.150 0
#>
#> - The 'ind' column shows the conditional indirect effects.
#> - ‘m~x’,‘y~m’ is/are the path coefficient(s) along the path conditional
#> on the moderator(s).
#>
#>
#> == Conditional indirect effects ==
#>
#> Path: w1 -> m -> y
#> Conditional on moderator(s): x
#> Moderator(s) represented by: x
#>
#> [x] (x) ind m~w1 y~m
#> 1 M+1.0SD 1 0 0.150 0
#> 2 Mean 0 0 0.000 0
#> 3 M-1.0SD -1 0 -0.150 0
#>
#> - The 'ind' column shows the conditional indirect effects.
#> - ‘m~w1’,‘y~m’ is/are the path coefficient(s) along the path
#> conditional on the moderator(s).
#>
#>
#> ======================= Data Information =======================
#>
#> Number of Replications: 4
#> Sample Sizes: 100
#>
#> Call print with 'data_long = TRUE' for further information.
#>
#> ==================== Extra Element(s) Found ====================
#>
#> - fit
#>
#> === Element(s) of the First Dataset ===
#>
#> ============ <fit> ============
#>
#> lavaan 0.6-19 ended normally after 1 iteration
#>
#> Estimator ML
#> Optimization method NLMINB
#> Number of model parameters 7
#>
#> Number of observations 100
#>
#> Model Test User Model:
#>
#> Test statistic 4.537
#> Degrees of freedom 2
#> P-value (Chi-square) 0.103
#>
#> =============== <test_moderation: CIs > ===============
#>
#> Mean(s) across replication:
#> test_label lhs op rhs est se z pvalue cilo cihi sig
#> 1 m~x:w1 m ~ x:w1 0.150 0.101 1.557 0.160 -0.047 0.348 0.250
#>
#> - The column 'sig' shows the rejection rates.
#> - If the null hypothesis is false, the rate is the power.
#> - Number of valid replications for rejection rate(s): 4
#> - Proportion of valid replications for rejection rate(s): 1.000