semTools (version 0.5-2)

probe3WayRC: Probing three-way interaction on the residual-centered latent interaction

Description

Probing interaction for simple intercept and simple slope for the residual-centered latent three-way interaction (Pornprasertmanit, Schoemann, Geldhof, & Little, submitted)

Usage

probe3WayRC(fit, nameX, nameY, modVar, valProbe1, valProbe2, group)

Arguments

fit

The lavaan model object used to evaluate model fit

nameX

The vector of the factor names used as the predictors. The three first-order factors will be listed first. Then the second-order factors will be listeed. The last element of the name will represent the three-way interaction. Note that the fourth element must be the interaction between the first and the second variables. The fifth element must be the interaction between the first and the third variables. The sixth element must be the interaction between the second and the third variables.

nameY

The name of factor that is used as the dependent variable.

modVar

The name of two factors that are used as the moderators. The effect of the independent factor on each combination of the moderator variable values will be probed.

valProbe1

The values of the first moderator that will be used to probe the effect of the independent factor.

valProbe2

The values of the second moderator that will be used to probe the effect of the independent factor.

group

In multigroup models, the label of the group for which the results will be returned. Must correspond to one of lavInspect(fit, "group.label").

Value

A list with two elements:

  1. SimpleIntercept: The intercepts given each value of the moderator. This element will be shown only if the factor intercept is estimated (e.g., not fixed as 0).

  2. SimpleSlope: The slopes given each value of the moderator.

In each element, the first column represents values of the first moderator specified in the valProbe1 argument. The second column represents values of the second moderator specified in the valProbe2 argument. The third column is the simple intercept or simple slope. The fourth column is the SE of the simple intercept or simple slope. The fifth column is the Wald (z) statistic. The sixth column is the p value testing whether the simple intercepts or slopes are different from 0.

Details

Before using this function, researchers need to make the products of the indicators between the first-order factors and residualize the products by the original indicators (Lance, 1988; Little, Bovaird, & Widaman, 2006). The process can be automated by the indProd function. Note that the indicator products can be made for all possible combination or matched-pair approach (Marsh et al., 2004). Next, the hypothesized model with the regression with latent interaction will be used to fit all original indicators and the product terms (Geldhof, Pornprasertmanit, Schoemann, & Little, in press). To use this function the model must be fit with a mean structure. See the example for how to fit the product term below. Once the lavaan result is obtained, this function will be used to probe the interaction.

The probing process on residual-centered latent interaction is based on transforming the residual-centered result into the no-centered result. See Pornprasertmanit, Schoemann, Geldhof, and Little (submitted) for further details. Note that this approach based on a strong assumption that the first-order latent variables are normally distributed. The probing process is applied after the no-centered result (parameter estimates and their covariance matrix among parameter estimates) has been computed See the probe3WayMC for further details.

References

Geldhof, G. J., Pornprasertmanit, S., Schoemann, A., & Little, T. D. (2013). Orthogonalizing through residual centering: Extended applications and caveats. Educational and Psychological Measurement, 73(1), 27--46. doi:10.1177/0013164412445473

Lance, C. E. (1988). Residual centering, exploratory and confirmatory moderator analysis, and decomposition of effects in path models containing interactions. Applied Psychological Measurement, 12(2), 163--175. doi:10.1177/014662168801200205

Little, T. D., Bovaird, J. A., & Widaman, K. F. (2006). On the merits of orthogonalizing powered and product terms: Implications for modeling interactions. Structural Equation Modeling, 13(4), 497--519. doi:10.1207/s15328007sem1304_1

Marsh, H. W., Wen, Z., & Hau, K. T. (2004). Structural equation models of latent interactions: Evaluation of alternative estimation strategies and indicator construction. Psychological Methods, 9(3), 275--300. doi:10.1037/1082-989X.9.3.275

Pornprasertmanit, S., Schoemann, A. M., Geldhof, G. J., & Little, T. D. (submitted). Probing latent interaction estimated with a residual centering approach.

See Also

  • indProd For creating the indicator products with no centering, mean centering, double-mean centering, or residual centering.

  • probe2WayMC For probing the two-way latent interaction when the results are obtained from mean-centering, or double-mean centering

  • probe3WayMC For probing the three-way latent interaction when the results are obtained from mean-centering, or double-mean centering

  • probe2WayRC For probing the two-way latent interaction when the results are obtained from residual-centering approach.

  • plotProbe Plot the simple intercepts and slopes of the latent interaction.

Examples

Run this code
# NOT RUN {
library(lavaan)

dat3wayRC <- orthogonalize(dat3way, 1:3, 4:6, 7:9)

model3 <- "
f1 =~ x1 + x2 + x3
f2 =~ x4 + x5 + x6
f3 =~ x7 + x8 + x9
f12 =~ x1.x4 + x2.x5 + x3.x6
f13 =~ x1.x7 + x2.x8 + x3.x9
f23 =~ x4.x7 + x5.x8 + x6.x9
f123 =~ x1.x4.x7 + x2.x5.x8 + x3.x6.x9
f4 =~ x10 + x11 + x12
f4 ~ f1 + f2 + f3 + f12 + f13 + f23 + f123
f1 ~~ 0*f12
f1 ~~ 0*f13
f1 ~~ 0*f123
f2 ~~ 0*f12
f2 ~~ 0*f23
f2 ~~ 0*f123
f3 ~~ 0*f13
f3 ~~ 0*f23
f3 ~~ 0*f123
f12 ~~ 0*f123
f13 ~~ 0*f123
f23 ~~ 0*f123
x1 ~ 0*1
x4 ~ 0*1
x7 ~ 0*1
x10 ~ 0*1
x1.x4 ~ 0*1
x1.x7 ~ 0*1
x4.x7 ~ 0*1
x1.x4.x7 ~ 0*1
f1 ~ NA*1
f2 ~ NA*1
f3 ~ NA*1
f12 ~ NA*1
f13 ~ NA*1
f23 ~ NA*1
f123 ~ NA*1
f4 ~ NA*1
"

fitRC3way <- sem(model3, data = dat3wayRC, std.lv = FALSE,
                 meanstructure = TRUE)
summary(fitRC3way)

result3wayRC <- probe3WayRC(fitRC3way,
                            c("f1", "f2", "f3", "f12", "f13", "f23", "f123"),
                            "f4", c("f1", "f2"), c(-1, 0, 1), c(-1, 0, 1))
result3wayRC

# }

Run the code above in your browser using DataCamp Workspace