That will be difficult for me.
However, here is the sample code which ran successfully in semTools (version 0.5-4) but displayed error (and failed to run) in
semTools (
library(semTools)
ModerationData <- indProd(Mydata, var1 = c('Item1','Item2','Item3','Item4'),
var2 = c('Item5','Item6','Item7','Item8'),
match = FALSE, meanC = TRUE, residualC = FALSE, doubleMC = TRUE)
ModerationModel <-
'
# Independent variable
Indv =~ Item1 + Item2 + Item3 + Item4
# Moderting variable
Modv =~ Item5 + Item6 + Item7 + Item8
# Dependent variables
DV1 =~ Item9 + Item10
DV2 =~ Item11 + Item12 + Item13
# Interaction term
IndvXModv =~
Item1.Item5 + Item1.Item6 + Item1.Item7 + Item1.Item8 + Item2.Item5
+ Item2.Item6 + Item2.Item7 + Item2.Item8 + Item3.Item5 + Item3.Item6 + Item3.Item7
+ Item3.Item8 + Item4.Item5 + Item4.Item6 + Item4.Item7 + Item4.Item8# Regressions
DV1 ~ Indv + Modv +
IndvXModv
DV2 ~ Indv + Modv +
IndvXModv
'
fit <- sem(ModerationModel, estimator="MLM", data = ModerationData,
std.lv = T, meanstructure = T)
fit
#Check means of latent variables
lavInspect(fit, "
mean.lv")
#Moderation Slope
result2WayMC_DV1 <- probe2WayMC(fit, nameX = c("Indv","Modv","IndvXModv"), nameY = "DV1", modVar = "Modv", valProbe = c(-1,0,1))
result2WayMC_DV2 <- probe2WayMC(fit, nameX = c("Indv","Modv","IndvXModv"), nameY = "DV2", modVar = "Modv", valProbe = c(-1,0,1))
result2WayMC_DV1
result2WayMC_DV2
plotProbe(result2WayMC_DV1, xlim = c(-2,2), xlab = "Indv", ylab = "DV1", legend = TRUE, legendArgs = list())
plotProbe(result2WayMC_DV2, xlim = c(-2,2), xlab = "Indv", ylab = "DV2", legend = TRUE, legendArgs = list())