---
title: "methods"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{methods}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
EVAL_DEFAULT <- FALSE
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = EVAL_DEFAULT
)
```
```{r setup}
library(modsem)
```
There are a number of approaches for estimating interaction effects in SEM.
In `modsem()`, the `method = "method"` argument allows you to choose which to use.
Different approaches can be categorized into two groups:
Product Indicator (PI) and Distribution Analytic (DA) approaches.
## Product Indicator (PI) Approaches:
- `"ca"` = constrained approach (Algina & Moulder, 2001)
- Note that constraints can become quite complicated for complex models,
particularly when there is an interaction including enodgenous variables.
The method can therefore be quite slow.
- `"uca"` = unconstrained approach (Marsh, 2004)
- `"rca"` = residual centering approach (Little et al., 2006)
- `"dblcent"` = double centering approach (Marsh., 2013)
- default
- `"pind"` = basic product indicator approach (not recommended)
## Distribution Analytic (DA) Approaches
- `"lms"` = The Latent Moderated Structural equations (LMS) approach, see the [vignette](https://modsem.org/articles/lms_qml.html)
- `"qml"` = The Quasi Maximum Likelihood (QML) approach, see the [vignette](https://modsem.org/articles/lms_qml.html)
- `"mplus"`
- estimates model through Mplus, if it is installed
```{r, eval = FALSE}
m1 <- '
# Outer Model
X =~ x1 + x2 + x3
Y =~ y1 + y2 + y3
Z =~ z1 + z2 + z3
# Inner model
Y ~ X + Z + X:Z
'
# Product Indicator Approaches
modsem(m1, data = oneInt, method = "ca")
modsem(m1, data = oneInt, method = "uca")
modsem(m1, data = oneInt, method = "rca")
modsem(m1, data = oneInt, method = "dblcent")
# Distribution Analytic Approaches
modsem(m1, data = oneInt, method = "mplus")
modsem(m1, data = oneInt, method = "lms")
modsem(m1, data = oneInt, method = "qml")
```