if (FALSE) { # rlang::is_installed("mclust")
# 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)
}
Run the code above in your browser using DataLab