Skip to contents

Fitting models

Two-level latent profile, latent class and latent transition models.

lpa()
Latent profile analysis
lca()
Latent class analysis
multilpa()
Fit a two-level latent profile model
multilca()
Fit a two-level latent class model
lta()
Latent transition analysis
fit_staged()
Fit a two-level model in stages, holding the measurement solution
starting_values()
Build starting values for a multilevel latent profile fit
prior_control() print(<latents_prior>)
Conjugate prior for Gaussian mixture estimation

Results

Every table of a fitted model, retrieved by name.

get_results()
Every table a fitted model holds, from one verb
descriptives()
Describe the variables a model uses, or will use
diagnostics() as.data.frame(<multilpa_diagnostics>) print(<multilpa_diagnostics>) plot(<multilpa_diagnostics>)
Every classification diagnostic, in one call
report()
Everything about a fit, in one call

Evaluating a model

enumerate_lpa()
Compare latent profile models
enumerate_lca()
Compare latent class models
enumerate_classes()
Enumerate numbers of individual profiles and group classes
candidate_fit()
Take one fitted model out of an enumeration grid
bootstrap_lrt()
Parametric bootstrap likelihood-ratio comparison
sensitivity()
Does the solution survive a different seed?
parameter_inference()
Tidy inference for a covariate fit
parameter_inference(<multilpa_transitions>) vcov(<multilpa_transitions>) confint(<multilpa_transitions>)
Wald inference for a latent transition model
pool_imputations()
Fit a model to multiply imputed data and pool it with Rubin's rules
get_results(<latents_pooled>) as.data.frame(<latents_pooled>)
Tables of a pooled multiply imputed fit
get_results(<multilpa_additive>) as.data.frame(<multilpa_additive>) coef(<multilpa_additive>) vcov(<multilpa_additive>) confint(<multilpa_additive>) logLik(<multilpa_additive>) nobs(<multilpa_additive>)
Tables of an additive group-class fit
get_results(<multilpa_cross_level>) as.data.frame(<multilpa_cross_level>) print(<multilpa_cross_level>) summary(<multilpa_cross_level>) logLik(<multilpa_cross_level>) nobs(<multilpa_cross_level>)
Tables of a cross-level fit
get_results(<latents_family_enumeration>) as.data.frame(<latents_family_enumeration>) print(<latents_family_enumeration>) summary(<latents_family_enumeration>)
Tables of a group-class family enumeration

Mixture regression and growth models

Regressions whose coefficients differ across latent classes, at one or two levels, for continuous, binary and count outcomes; classes of trajectories, with random effects within classes (growth mixture models).

External variables

Three-step analysis with a correction for classification error.

three_step()
Relate a latent class to an outcome it did not help define
r3step()
Covariates predicting class membership, corrected for misclassification

Plots

plot_views()
The plots this package can draw
plot_enumeration()
Plot information criteria across an enumeration grid
diagnostics() as.data.frame(<multilpa_diagnostics>) print(<multilpa_diagnostics>) plot(<multilpa_diagnostics>)
Every classification diagnostic, in one call
plot(<latents_comparison>)
Plot a model comparison
plot(<latents_family_enumeration>)
Plot information criteria across group-class families
plot(<latents_growth_mixture>)
Plot a growth mixture model
plot(<latents_mixture_regression>)
Plot a mixture-of-regressions fit
plot(<latents_pooled>)
Plot a pooled multiply imputed fit
plot(<latents_transition_enumeration>)
Plot information criteria across transition models
plot(<multilpa>)
Plot a fitted multilevel latent profile model
plot(<multilpa_additive>)
Plot an additive group-class fit
plot(<multilpa_bootstrap_lrt>)
Plot a simulated bootstrap null distribution
plot(<multilpa_covariates>)
Plot a covariate model
plot(<multilpa_cross_level>)
Plot a cross-level fit
plot(<multilpa_enumeration>)
Plot a class-enumeration grid
plot(<multilpa_lta>)
Plot transition probabilities of a general transition fit
plot(<multilpa_transitions>)
Plot a fitted latent transition model

Transition networks

Latent transitions handed to the tna package.

get_tna()
A transition network for the whole sample
get_group_tna()
A transition network for each latent group class

Data

course_engagement
Student engagement across a sequence of courses
student_esm
Leisure activities of university students in daily life
study_hours
Study hours and quiz scores under two study strategies
growth_scores
Achievement growth of students with three kinds of trajectory
growth_schools
Reading growth of students nested in schools
srl
Self-regulated learning scores simulated by a large language model

Methods

Standard generics for fitted models, enumeration grids and summaries.

diagnostics() as.data.frame(<multilpa_diagnostics>) print(<multilpa_diagnostics>) plot(<multilpa_diagnostics>)
Every classification diagnostic, in one call
enumerate_regressions() as.data.frame(<latents_regression_enumeration>) get_results(<latents_regression_enumeration>) print(<latents_regression_enumeration>)
Compare mixture regressions with different numbers of classes
get_results(<latents_family_enumeration>) as.data.frame(<latents_family_enumeration>) print(<latents_family_enumeration>) summary(<latents_family_enumeration>)
Tables of a group-class family enumeration
get_results(<latents_transition_enumeration>) as.data.frame(<latents_transition_enumeration>) print(<latents_transition_enumeration>) summary(<latents_transition_enumeration>)
Tables of a transition-model enumeration
get_results(<multilpa_cross_level>) as.data.frame(<multilpa_cross_level>) print(<multilpa_cross_level>) summary(<multilpa_cross_level>) logLik(<multilpa_cross_level>) nobs(<multilpa_cross_level>)
Tables of a cross-level fit
get_results(<multilpa_lta>) as.data.frame(<multilpa_lta>) print(<multilpa_lta>) summary(<multilpa_lta>) coef(<multilpa_lta>) vcov(<multilpa_lta>) logLik(<multilpa_lta>) nobs(<multilpa_lta>)
Tables of a latent transition fit with occasion- or covariate-dependent transitions or occasion-specific measurement
print(<multilpa_enumeration>) print(<multilpa_start>) print(<summary_multilpa_additive>) print(<multilpa_additive>) print(<multilpa_covariates>) print(<summary_multilpa_covariates>) print(<summary_multilpa_enumeration>) print(<multilpa_bootstrap_lrt>) print(<summary_multilpa_bootstrap_lrt>) print(<latents_growth_mixture>) print(<summary_latents_growth_mixture>) print(<latents_table>) print(<multilpa>) print(<summary_multilpa>) print(<latents_mixture_regression>) print(<summary_latents_mixture_regression>) print(<latents_plots>) print(<latents_pooled>) print(<multilpa_transitions>) print(<summary_multilpa_transitions>)
Print latents results
prior_control() print(<latents_prior>)
Conjugate prior for Gaussian mixture estimation
summary(<multilpa_additive>) summary(<multilpa_covariates>) summary(<multilpa_enumeration>) summary(<multilpa_bootstrap_lrt>) summary(<latents_growth_mixture>) summary(<multilpa>) summary(<latents_mixture_regression>) summary(<latents_pooled>) summary(<multilpa_transitions>)
Summarise latents results
get_results(<latents_growth_mixture>) as.data.frame(<latents_growth_mixture>) coef(<latents_growth_mixture>) vcov(<latents_growth_mixture>) confint(<latents_growth_mixture>) logLik(<latents_growth_mixture>) nobs(<latents_growth_mixture>)
Tidy results of a growth mixture model
get_results(<latents_mixture_regression>) as.data.frame(<latents_mixture_regression>) coef(<latents_mixture_regression>) vcov(<latents_mixture_regression>) confint(<latents_mixture_regression>) logLik(<latents_mixture_regression>) nobs(<latents_mixture_regression>)
Tables of a mixture-of-regressions fit
get_results(<latents_pooled>) as.data.frame(<latents_pooled>)
Tables of a pooled multiply imputed fit
get_results(<multilpa_additive>) as.data.frame(<multilpa_additive>) coef(<multilpa_additive>) vcov(<multilpa_additive>) confint(<multilpa_additive>) logLik(<multilpa_additive>) nobs(<multilpa_additive>)
Tables of an additive group-class fit
as.data.frame(<multilpa>) as.data.frame(<multilpa_enumeration>) as.data.frame(<multilpa_start>) as.data.frame(<multilpa_covariates>) as.data.frame(<summary_multilpa_additive>) as.data.frame(<summary_multilpa_covariates>) as.data.frame(<summary_multilpa_enumeration>) as.data.frame(<multilpa_bootstrap_lrt>) as.data.frame(<summary_multilpa_bootstrap_lrt>) as.data.frame(<latents_table>) as.data.frame(<summary_multilpa>) as.data.frame(<multilpa_transitions>) as.data.frame(<summary_multilpa_transitions>)
Convert latents results to a data frame
vcov(<multilpa_covariates>) coef(<multilpa_covariates>) confint(<multilpa_covariates>) logLik(<multilpa_covariates>) nobs(<multilpa_covariates>) coef(<multilpa>) vcov(<multilpa>) confint(<multilpa>) logLik(<multilpa>) nobs(<multilpa>) vcov(<latents_pooled>) logLik(<multilpa_transitions>) nobs(<multilpa_transitions>) coef(<multilpa_transitions>)
Coefficients, covariance, intervals and likelihood of latents fits
parameter_inference(<multilpa_transitions>) vcov(<multilpa_transitions>) confint(<multilpa_transitions>)
Wald inference for a latent transition model
predict(<latents_growth_mixture>)
Prediction for a growth mixture model (not implemented)
predict(<latents_mixture_regression>)
Predict from a mixture-of-regressions fit
predict(<multilpa>)
Classify new observations with a fitted model

Conditions

latents-conditions
Conditions this package raises