View source: R/probeInteraction.R
probe3WayRC | R Documentation |
Probing interaction for simple intercept and simple slope for the residual-centered latent three-way interaction (Geldhof et al., 2013)
probe3WayRC(fit, nameX, nameY, modVar, valProbe1, valProbe2, group = 1L,
omit.imps = c("no.conv", "no.se"))
fit |
A fitted lavaan::lavaan or lavaan.mi::lavaan.mi object with a latent 2-way interaction. |
nameX |
|
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
|
omit.imps |
|
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 et al., 2013). 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
Geldhof et al. (2013) 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.
A list with two elements:
SimpleIntercept
: The model-implied intercepts given each
combination of moderator values.
SimpleSlope
: The model-implied slopes given each combination
of moderator values.
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, and the sixth column is its associated
p value to test the null hypothesis that each simple intercept or
simple slope equals 0.
Sunthud Pornprasertmanit (psunthud@gmail.com)
Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)
Tutorial:
Schoemann, A. M., & Jorgensen, T. D. (2021). Testing and interpreting
latent variable interactions using the semTools
package.
Psych, 3(3), 322–335. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.3390/psych3030024")}
Background literature:
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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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. \Sexpr[results=rd]{tools:::Rd_expr_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.
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.
dat3wayRC <- orthogonalize(dat3way, 1:3, 4:6, 7:9)
model3 <- " ## define latent variables
f1 =~ x1 + x2 + x3
f2 =~ x4 + x5 + x6
f3 =~ x7 + x8 + x9
## 2-way interactions
f12 =~ x1.x4 + x2.x5 + x3.x6
f13 =~ x1.x7 + x2.x8 + x3.x9
f23 =~ x4.x7 + x5.x8 + x6.x9
## 3-way interaction
f123 =~ x1.x4.x7 + x2.x5.x8 + x3.x6.x9
## outcome variable
f4 =~ x10 + x11 + x12
## latent regression model
f4 ~ b1*f1 + b2*f2 + b3*f3 + b12*f12 + b13*f13 + b23*f23 + b123*f123
## orthogonal terms among predictors
f1 ~~ 0*f12 + 0*f13 + 0*f123
f2 ~~ 0*f12 + 0*f23 + 0*f123
f3 ~~ 0*f13 + 0*f23 + 0*f123
f12 + f13 + f23 ~~ 0*f123
## identify latent means
x1 + x4 + x7 + x1.x4 + x1.x7 + x4.x7 + x1.x4.x7 + x10 ~ 0*1
f1 + f2 + f3 + f12 + f13 + f23 + f123 + f4 ~ NA*1
"
fitRC3way <- sem(model3, data = dat3wayRC, meanstructure = TRUE)
summary(fitRC3way)
probe3WayMC(fitRC3way, nameX = c("f1" ,"f2" ,"f3",
"f12","f13","f23", # this order matters!
"f123"), # 3-way interaction
nameY = "f4", modVar = c("f1", "f2"),
valProbe1 = c(-1, 0, 1), valProbe2 = c(-1, 0, 1))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.