1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/probeInteraction.R
\name{probe3WayRC}
\alias{probe3WayRC}
\title{Probing three-way interaction on the residual-centered latent interaction}
\usage{
probe3WayRC(fit, nameX, nameY, modVar, valProbe1, valProbe2, group = 1L,
omit.imps = c("no.conv", "no.se"))
}
\arguments{
\item{fit}{A fitted \link[lavaan:lavaan-class]{lavaan::lavaan} or
\link[lavaan.mi:lavaan.mi-class]{lavaan.mi::lavaan.mi} object with a latent 2-way interaction.}
\item{nameX}{\code{character} vector of all 7 factor names used as the
predictors. The 3 lower-order factors must be listed first, followed by
the 3 second-order factors (specifically, the 4th element must be the
interaction between the factors listed first and second, the 5th element
must be the interaction between the factors listed first and third, and
the 6th element must be the interaction between the factors listed second
and third). The final name will be the factor representing the 3-way
interaction.}
\item{nameY}{The name of factor that is used as the dependent variable.}
\item{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.}
\item{valProbe1}{The values of the first moderator that will be used to
probe the effect of the independent factor.}
\item{valProbe2}{The values of the second moderator that will be used to
probe the effect of the independent factor.}
\item{group}{In multigroup models, the label of the group for which the
results will be returned. Must correspond to one of
\code{lavInspect(fit, "group.label")}.}
\item{omit.imps}{\code{character} vector specifying criteria for omitting
imputations from pooled results. Ignored unless \code{fit} is of
class \link[lavaan.mi:lavaan.mi-class]{lavaan.mi::lavaan.mi}. Can include any of
\code{c("no.conv", "no.se", "no.npd")}, the first 2 of which are the
default setting, which excludes any imputations that did not
converge or for which standard errors could not be computed. The
last option (\code{"no.npd"}) would exclude any imputations which
yielded a nonpositive definite covariance matrix for observed or
latent variables, which would include any "improper solutions" such
as Heywood cases. NPD solutions are not excluded by default because
they are likely to occur due to sampling error, especially in small
samples. However, gross model misspecification could also cause
NPD solutions, users can compare pooled results with and without
this setting as a sensitivity analysis to see whether some
imputations warrant further investigation.}
}
\value{
A list with two elements:
\enumerate{
\item \code{SimpleIntercept}: The model-implied intercepts given each
combination of moderator values.
\item \code{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 \code{valProbe1} argument. The second column represents
values of the second moderator specified in the \code{valProbe2} argument.
The third column is the simple intercept or simple slope. The fourth column
is the \emph{SE} of the simple intercept or simple slope. The fifth column
is the Wald (\emph{z}) statistic, and the sixth column is its associated
\emph{p} value to test the null hypothesis that each simple intercept or
simple slope equals 0.
}
\description{
Probing interaction for simple intercept and simple slope for the
residual-centered latent three-way interaction (Geldhof et al., 2013)
}
\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 \code{\link[=indProd]{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 \code{\link[=probe3WayMC]{probe3WayMC()}} for further details.
}
\examples{
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))
}
\references{
Tutorial:
Schoemann, A. M., & Jorgensen, T. D. (2021). Testing and interpreting
latent variable interactions using the \code{semTools} package.
\emph{Psych, 3}(3), 322--335. \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. \emph{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. \emph{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. \emph{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. \emph{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). \emph{Probing latent interaction estimated with a residual
centering approach.}
}
\seealso{
\itemize{
\item \code{\link[=indProd]{indProd()}} For creating the indicator products with no
centering, mean centering, double-mean centering, or residual centering.
\item \code{\link[=probe2WayMC]{probe2WayMC()}} For probing the two-way latent interaction
when the results are obtained from mean-centering, or double-mean centering
\item \code{\link[=probe3WayMC]{probe3WayMC()}} For probing the three-way latent interaction
when the results are obtained from mean-centering, or double-mean centering
\item \code{\link[=probe2WayRC]{probe2WayRC()}} For probing the two-way latent interaction
when the results are obtained from residual-centering approach.
\item \code{\link[=plotProbe]{plotProbe()}} Plot the simple intercepts and slopes of the
latent interaction.
}
}
\author{
Sunthud Pornprasertmanit (\email{psunthud@gmail.com})
Terrence D. Jorgensen (University of Amsterdam; \email{TJorgensen314@gmail.com})
}
|