compare_mmm: Compare MMM fits across different k

View source: R/mmm.R

compare_mmmR Documentation

Compare MMM fits across different k

Description

Compare MMM fits across different k

Usage

compare_mmm(data, k = 2:5, return_fits = FALSE, ...)

Arguments

data

Data frame, netobject, or tna model.

k

Integer vector of component counts. Values must be whole finite numbers >= 2. Default: 2:5.

return_fits

Logical. When TRUE the fitted models are retained on the result via attr(result, "fits") (a list of net_mmm objects, named by k), so the user can pick the chosen model without re-running the EM. Default FALSE keeps the historical lightweight return shape – only the comparison table is allocated.

...

Arguments passed to build_mmm.

Value

A mmm_compare data frame with BIC, AIC, ICL, AvePP, entropy per k. When return_fits = TRUE, the fitted models are attached as attr(result, "fits").

Examples

seqs <- data.frame(V1 = sample(c("A","B","C"), 30, TRUE),
                   V2 = sample(c("A","B","C"), 30, TRUE))
comp <- compare_mmm(seqs, k = 2:3, n_starts = 1, max_iter = 10, seed = 1)
comp

seqs <- data.frame(
  V1 = sample(LETTERS[1:3], 30, TRUE), V2 = sample(LETTERS[1:3], 30, TRUE),
  V3 = sample(LETTERS[1:3], 30, TRUE), V4 = sample(LETTERS[1:3], 30, TRUE)
)
comp <- compare_mmm(seqs, k = 2:3, seed = 42)
print(comp)

# Retain fits to avoid a re-fit after picking the BIC-min model.
comp_with_fits <- compare_mmm(seqs, k = 2:3, seed = 42, return_fits = TRUE)
best_k <- comp_with_fits$k[which.min(comp_with_fits$BIC)]
best_fit <- attr(comp_with_fits, "fits")[[as.character(best_k)]]



Nestimate documentation built on July 11, 2026, 1:09 a.m.