# methods

    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
- `"qml"` = The Quasi Maximum Likelihood (QML) approach, see the vignette
- `"mplus"`
  - estimates model through Mplus, if it is installed

    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")