Author: Vignette Author
Date: 2026-02-24

# Benchmarking mclust and MPlus

#### Vignette Author

#### 2026-02-24

## Purpose

The purpose of this vignette is to facilitate benchmarking the output from the use of two packages, MPlus (via the MplusAutomation package) and mclust (via the mclust package). As CRAN does not allow for MPlus to be used, this vignette is not rendered, but can be rendered on your own computer as long as you have MPlus (and MplusAutomation) installed. Please note that MPlus must be installed on your computer for this vignette to run.

# Using mclust

## Just one fit

    library(tidyLPA)
    library(dplyr)

    iris %>%
      select(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) %>%
      estimate_profiles(n_profiles = 2) %>%
      get_fit() %>%
      as.data.frame()

# Using MPlus

## Just one fit

    iris %>%
      select(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) %>%
      estimate_profiles(n_profiles = 2, package = "mplus") %>%
      get_fit() %>%
      as.data.frame()

# Using mclust

## Many fits

    library(tidyLPA)
    library(dplyr)

    iris %>%
      select(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) %>%
      estimate_profiles(n_profiles = 2:4, models = c(1, 2, 3, 6)) %>%
      get_fit() %>%
      as.data.frame()

# Using MPlus

## Many fits

    iris %>%
      select(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) %>%
      estimate_profiles(n_profiles = 2:4, models = c(1, 2, 3, 6),
                        package = "mplus") %>%
      get_fit() %>%
      as.data.frame()