context("Test Generic Methods")
if (isTRUE(as.logical(Sys.getenv("CI")))){
# If on CI
NITER <- 2
env_test <- "CI"
}else if (!identical(Sys.getenv("NOT_CRAN"), "true")){
# If on CRAN
NITER <- 2
env_test <- "CRAN"
set.seed(141)
}else{
# If on local machine
NITER <- 2000
env_test <- 'local'
}
test_that("Test generic methods (fixed, ranef, coef, vcov)", {
N <- 100
G <- 10
x <- rnorm(N)
g <- sample(1:G, N, replace = T)
g2 <- sample(1:G, N, replace = T)
alpha <- rnorm(G)
alpha2 <- rnorm(G)
y <- rbinom(n = N, size = 1, prob = plogis(-1 + x + alpha[g] + alpha2[g]))
example_vglmer <- vglmer(
formula = y ~ x + (1 + x | g) + (1 | g2), data = NULL, family = "binomial",
control = vglmer_control(factorization_method = "strong")
)
expect_gte(min(diff(example_vglmer$ELBO_trajectory$ELBO)), 0)
expect_equivalent(coef(example_vglmer), as.vector(example_vglmer$beta$mean))
expect_equivalent(fixef(example_vglmer), coef(example_vglmer))
expect_equivalent(vcov(example_vglmer), as.matrix(example_vglmer$beta$var))
generic_ranef <- ranef(example_vglmer)
generic_ranef$g
expect_equivalent(example_vglmer$alpha$mean[-(1:(2 * G))], generic_ranef$g2$`(Intercept)`)
expect_equivalent(example_vglmer$alpha$mean[(1:(2 * G))], as.vector(t(generic_ranef$g[, -1])))
})
test_that("Test that print and summary run", {
N <- 100
G <- 10
x <- rnorm(N)
g <- sample(1:G, N, replace = T)
g2 <- sample(1:G, N, replace = T)
alpha <- rnorm(G)
alpha2 <- rnorm(G)
y <- rbinom(n = N, size = 1, prob = plogis(-1 + x + alpha[g] + alpha2[g]))
example_vglmer <- vglmer(
formula = y ~ x + (1 + x | g) + (1 | g2), data = NULL, family = "binomial",
control = vglmer_control(factorization_method = "strong")
)
expect_gte(min(diff(example_vglmer$ELBO_trajectory$ELBO)), 0)
save_print <- invisible(capture.output(print(example_vglmer)))
save_summary <- invisible(capture.output(summary(example_vglmer)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.