Tidy summarizes information about the components of a model. A model component might be a single term in a regression, a single hypothesis, a cluster, or a class. Exactly what tidy considers to be a model component varies across models but is usually self-evident. If a model has several distinct types of components, you will need to specify which components to return.
# S3 method for Mclust
tidy(x, ...)
An Mclust
object return from mclust::Mclust()
.
Additional arguments. Not used. Needed to match generic
signature only. Cautionary note: Misspelled arguments will be
absorbed in ...
, where they will be ignored. If the misspelled
argument has a default value, the default value will be used.
For example, if you pass conf.lvel = 0.9
, all computation will
proceed using conf.level = 0.95
. Additionally, if you pass
newdata = my_tibble
to an augment()
method that does not
accept a newdata
argument, it will use the default value for
the data
argument.
Other mclust tidiers:
augment.Mclust()
A tibble::tibble()
with columns:
The mixing proportion of each component
Number of points assigned to cluster.
The mean for each component. In case of 2+ dimensional models, a column with the mean is added for each dimension. NA for noise component
In case of one-dimensional and spherical models, the variance for each component, omitted otherwise. NA for noise component
Cluster id as a factor.
# feel free to ignore the following line—it allows {broom} to supply
# examples without requiring the model-supplying package to be installed.
if (requireNamespace("mclust", quietly = TRUE)) {
# load library for models and data
library(mclust)
# load data manipulation libraries
library(dplyr)
library(tibble)
library(purrr)
library(tidyr)
set.seed(27)
centers <- tibble(
cluster = factor(1:3),
# number points in each cluster
num_points = c(100, 150, 50),
# x1 coordinate of cluster center
x1 = c(5, 0, -3),
# x2 coordinate of cluster center
x2 = c(-1, 1, -2)
)
points <- centers %>%
mutate(
x1 = map2(num_points, x1, rnorm),
x2 = map2(num_points, x2, rnorm)
) %>%
select(-num_points, -cluster) %>%
unnest(c(x1, x2))
# fit model
m <- Mclust(points)
# summarize model fit with tidiers
tidy(m)
augment(m, points)
glance(m)
}
#> # A tibble: 1 × 7
#> model G BIC logLik df hypvol nobs
#> <chr> <int> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 EII 3 -2402. -1175. 9 NA 300