test_that("`utils_cluster_silhouette()`, `utils_cluster_hclust_optimizer()` and `utils_cluster_kmeans_optimizer()` works", {
tsl <- tsl_aggregate(
tsl_subset(tsl_initialize(
x = covid_prevalence,
name_column = "name", time_column = "time"
), names = 1:10),
new_time = "months", fun = max
)
psi_matrix <- distantia_matrix(distantia(tsl = tsl, lock_step = TRUE))
hclust_optimization <- utils_cluster_hclust_optimizer(d = psi_matrix)
expect_equal(class(hclust_optimization), "data.frame")
expect_equal(colnames(hclust_optimization), c("clusters", "method", "silhouette_mean"))
psi_hclust <- stats::hclust(d = as.dist(psi_matrix[[1]]))
psi_hclust_labels <- stats::cutree(tree = psi_hclust, k = 3, )
expect_equal(colnames(utils_cluster_silhouette(labels = psi_hclust_labels, d = psi_matrix)), c("name", "cluster", "silhouette_width"))
kmeans_optimization <- utils_cluster_kmeans_optimizer(d = psi_matrix)
expect_equal(class(kmeans_optimization), "data.frame")
expect_equal(colnames(kmeans_optimization), c("clusters", "silhouette_mean"))
psi_kmeans <- stats::kmeans(x = as.dist(psi_matrix[[1]]), centers = 3)
expect_equal(colnames(utils_cluster_silhouette(labels = psi_kmeans$cluster, d = psi_matrix)), c("name", "cluster", "silhouette_width"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.