Estimate latent profiles
Estimates latent profiles (finite mixture models) using the open
source package mclust
, or the commercial program
Mplus (using the R-interface of
MplusAutomation
).
estimate_profiles( df, n_profiles, models = NULL, variances = "equal", covariances = "zero", package = "mclust", select_vars = NULL, ... )
df |
data.frame of numeric data; continuous indicators are required for mixture modeling. |
n_profiles |
Integer vector of the number of profiles (or mixture components) to be estimated. |
models |
Integer vector. Set to |
variances |
Character vector. Specifies which variance components to estimate. Defaults to "equal" (constrain variances across profiles); the other option is "varying" (estimate variances freely across profiles). Each element of this vector refers to one of the models you wish to run. |
covariances |
Character vector. Specifies which covariance components to estimate. Defaults to "zero" (do not estimate covariances; this corresponds to an assumption of conditional independence of the indicators); other options are "equal" (estimate covariances between items, constrained across profiles), and "varying" (free covariances across profiles). |
package |
Character. Which package to use; 'mclust' or 'MplusAutomation' (requires Mplus to be installed). Default: 'mclust'. |
select_vars |
Character. Optional vector of variable names in |
... |
Additional arguments are passed to the estimating function; i.e.,
|
Six models are currently available in tidyLPA, corresponding to the most common requirements. These are:
Equal variances and covariances fixed to 0
Varying variances and covariances fixed to 0
Equal variances and equal covariances
Varying variances and equal covariances (not able to be fit w/ mclust)
Equal variances and varying covariances (not able to be fit w/ mclust)
Varying variances and varying covariances
Two interfaces are available to estimate these models; specify their numbers
in the models
argument (e.g., models = 1
, or
models = c(1, 2, 3)
), or specify the variances/covariances to be
estimated (e.g.,: variances = c("equal", "varying"), covariances =
c("zero", "equal")
). Note that when mclust is used, models =
c(1, 2, 3, 6)
are the only models available.
A list of class 'tidyLPA'.
iris_sample <- iris[c(1:4, 51:54, 101:104), ] # to make example run more quickly # Example 1: iris_sample %>% subset(select = c("Sepal.Length", "Sepal.Width", "Petal.Length")) %>% estimate_profiles(3) # Example 2: iris %>% subset(select = c("Sepal.Length", "Sepal.Width", "Petal.Length")) %>% estimate_profiles(n_profiles = 1:4, models = 1:3) # Example 3: iris_sample %>% subset(select = c("Sepal.Length", "Sepal.Width", "Petal.Length")) %>% estimate_profiles(n_profiles = 1:4, variances = c("equal", "varying"), covariances = c("zero", "zero"))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.