This function builds up an object of mxModel for a mixture model with user-specified number of latent classes, class- specific models and functional form (including whether intrinsically nonlinear).
getMIX.mxModel(
dat,
nClass,
sub_Model,
cluster_TIC,
t_var,
y_var,
curveFun,
intrinsic,
records,
y_model,
m_var,
x_var,
x_type,
TVC,
decompose,
growth_TIC,
starts,
res_cor
)
A pre-optimized mxModel for a longitudinal mixture model.
A wide-format data frame, with each row corresponding to a unique ID. It contains the observed variables with
repeated measurements and occasions for each longitudinal process, and time-invariant covariates (TICs) if any. It takes the value
passed from getMIX()
.
An integer specifying the number of latent classes for the mixture model. It takes the value passed from getMIX()
.
A string that specifies the sub-model for latent classes. Supported sub-models include "LGCM"
(for latent
growth curve models), "LCSM"
(for latent change score models), "TVC"
(for latent growth curve models or latent change
score models with a time-varying covariate), "MGM"
(for multivariate latent growth curve models or latent change score models),
and "MED"
(for longitudinal mediation models). It takes the value passed from getMIX()
.
A string or character vector representing the column name(s) for time-invariant covariate(s) indicating cluster
formations. It takes the value passed from getMIX()
.
A string specifying the prefix of the column names corresponding to the time variable for each study wave. This applies when
sub_Model
is "LGCM"
, "LCSM"
or "TVC"
. For sub_Model
being "MGM"
or "MED"
, t_var
should
be a string vector where each element corresponds to the time variable prefix for each respective longitudinal process. It takes the value
passed from getMIX()
.
A string defining the prefix of the column names corresponding to the outcome variable for each study wave. This is applicable
when sub_Model
is not "MGM"
. For sub_Model
being "MGM"
, y_var
should be a string vector where each element
corresponds to the prefix of the column names for each outcome variable across the study waves. It takes the value passed from getMIX()
.
A string specifying the functional form of the growth curve. Supported options for y_model = "LGCM"
include:
"linear"
(or "LIN"
), "quadratic"
(or "QUAD"
), "negative exponential"
(or "EXP"
), "Jenss-Bayley"
(or "JB"
), and "bilinear spline"
(or "BLS"
). Supported options for
y_model = "LCSM"
include: "quadratic"
(or "QUAD"
), "negative exponential"
(or "EXP"
),
"Jenss-Bayley"
(or "JB"
), and "nonparametric"
(or "NonP"
). It takes the value passed from getMIX()
.
A logical flag indicating whether to build an intrinsically nonlinear longitudinal model. It takes the value passed
from getMIX()
.
A numeric vector denoting the indices of the observed study waves. This applies when sub_Model
is "LGCM"
,
"LCSM"
or "TVC"
. For sub_Model
being "MGM"
or "MED"
, records
should be a list of numeric vectors,
where each vector provides the indices of the observed study waves for each longitudinal process. It takes the value passed from getMIX()
.
A string that specifies how to fit longitudinal outcomes. Supported values are "LGCM"
and "LCSM"
.
It takes the value passed from getMIX()
.
A string that specifies the prefix of the column names corresponding to the mediator variable at each study wave.
It takes the value passed from getMIX()
.
A string specifying the baseline predictor if x_type = "baseline"
, or the prefix of the column names
corresponding to the predictor variable at each study wave if x_type = "longitudinal"
. It takes the value passed from getMIX()
.
A string indicating the type of predictor variable used in the model. Supported values are "baseline"
and "longitudinal"
. It takes the value passed from getMIX()
.
A string that specifies the prefix of the column names corresponding to the time-varying covariate at each time
point. It takes the value passed from getMIX()
.
An integer specifying the decomposition option for temporal states. Supported values include 0
(no
decomposition), 1
(decomposition with interval-specific slopes as temporal states), 2
(decomposition with interval-
specific changes as temporal states), and 3
(decomposition with change-from-baseline as temporal states). It takes the value passed
from getMIX()
.
A string or character vector of column names of time-invariant covariate(s) accounting for the variability
of growth factors if any. It takes the value passed from getMIX()
.
A list of initial values for the parameters, either takes the value passed from getMIX()
or derived by the
helper function getMIX.initial()
.
A list where each element is a (vector of) numeric initial value(s) for residual correlation in each class. It
needs to be specified if the sub_Model is "TVC"
(when decompose != 0
), "MGM"
, or "MED"
. It takes the
value passed from getMIX()
.