context("tkmeans package testing suite")
test_that("Basic functionality not compromised", {
set.seed(123)
iris_mat <- as.matrix(iris[,1:4])
expect_equal_to_reference(tkmeans(iris_mat, 2 , 0.1, c(1,1,1,1), 1, 10, 0.001), "test_one.rds")
expect_equal_to_reference(tkmeans(iris_mat, 3 , 0.2, c(1,1,1,1),1, 10, 0.001), "test_two.rds")
expect_equal_to_reference(tkmeans(iris_mat, 1 , 0.1, c(1,1,1,1),1, 10, 0.001), "test_three.rds")
expect_equal_to_reference(tkmeans(iris_mat, 2 , 0.1, c(1,1,1,1),1, 10, 0.001 ), "test_four.rds")
})
test_that("Multistart", {
set.seed(123)
iris_mat <- as.matrix(iris[,1:4])
expect_equal_to_reference(tkmeans(iris_mat, 2 , 0.1,c(1,1,1,1), 5, 10, 0.001), "test_multi_one.rds")
})
test_that("Scaling function", {
m = matrix(rnorm(24, 1, 2),4, 6)
m_orig=m*1.0
scale_params = scale_mat_inplace(m)
m_restore=sweep(sweep(m,2,scale_params[2,],'*'),2,scale_params [1,], '+')
expect_equal(m_restore,m_orig)
})
test_that("BIC function", {
set.seed(123)
iris_mat <- as.matrix(iris[,1:4])
expect_equal_to_reference(cluster_BIC(iris_mat,tkmeans(iris_mat, 2 , 0.1,c(1,1,1,1), 1, 10, 0.001)), "test_BIC_one.rds")
})
test_that("Cluster allocation function", {
set.seed(123)
iris_mat <- as.matrix(iris[,1:4])
centres<- tkmeans(iris_mat, 4 , 0.1, c(1,1,1,1), 1, 10, 0.001)
nearest_cluster(iris_mat, centres)
expect_equal_to_reference(nearest_cluster(iris_mat, centres), "test_clust_one.rds")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.