Nothing
library(MGMM)
test_that("rGMM returns correct dimensions and structure.", {
withr::local_seed(101)
n <- 100
d <- 3
k <- 2
data <- rGMM(n = n, d = d, k = k, miss = 0)
expect_equal(nrow(data), n)
expect_equal(ncol(data), d)
expect_equal(colnames(data), paste0("y", seq_len(d)))
# Row names encode true cluster (1 or 2)
expect_true(all(rownames(data) %in% c("1", "2")))
})
test_that("rGMM k=1 has single cluster and no NA when miss=0.", {
withr::local_seed(102)
data <- rGMM(n = 50, d = 2, k = 1, miss = 0, means = c(1, 2))
expect_equal(nrow(data), 50)
expect_equal(ncol(data), 2)
expect_true(all(rownames(data) == "1"))
expect_false(any(is.na(data)))
})
test_that("rGMM with miss > 0 introduces approximately correct proportion of NAs.", {
withr::local_seed(103)
n <- 500
d <- 4
data <- rGMM(n = n, d = d, k = 2, miss = 0.2)
prop_miss <- mean(is.na(data))
expect_true(prop_miss >= 0.15 && prop_miss <= 0.25)
})
test_that("rGMM respects custom pi.", {
withr::local_seed(104)
n <- 1000
data <- rGMM(n = n, d = 2, k = 2, pi = c(0.8, 0.2), miss = 0,
means = list(c(0, 0), c(10, 10)))
tab <- table(rownames(data))
expect_true(tab["1"] / n > 0.7 && tab["1"] / n < 0.9)
expect_true(tab["2"] / n > 0.1 && tab["2"] / n < 0.3)
})
test_that("rGMM with custom means and covs runs and has correct dimension.", {
withr::local_seed(105)
mu1 <- c(-1, 1)
mu2 <- c(1, -1)
cov1 <- matrix(c(1, 0.5, 0.5, 1), nrow = 2)
cov2 <- 0.5 * diag(2)
data <- rGMM(n = 50, d = 2, k = 2, means = list(mu1, mu2), covs = list(cov1, cov2))
expect_equal(nrow(data), 50)
expect_equal(ncol(data), 2)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.