####################################################################################################
# Test input arguments
####################################################################################################
####################################################################################################
# Test glmmPen input arguments
####################################################################################################
test_that("test mis-specification of glmmPen arguments",{
dat = sim.data(n = 500, ptot = 4, pnonzero = 4, nstudies = 5,
sd_raneff = 1.0, family = 'binomial',
seed = 1618, imbalance = 1,
pnonzerovar = 0, beta = c(0,rep(1,4)))
y = dat$y
X = dat$X[,-1]
group = dat$group
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
penalty = "grMCP"),
regexp = "not available")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
covar = "independence"),
regexp = "covariance structure 'covar' must be")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
penalty = "MCP", gamma_penalty = 0.5),
regexp = "gamma_penalty must be > 1 when using MCP penalty")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
penalty = "SCAD", gamma_penalty = 2),
regexp = "gamma_penalty must be > 2 when using SCAD penalty")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
fixef_noPen = c(1,0)),
regexp = "length of fixef_noPen")
})
####################################################################################################
# Test optimControl input arguments (sampling of arguments)
####################################################################################################
test_that("test mis-specification of optimControl arguments",{
dat = sim.data(n = 500, ptot = 4, pnonzero = 4, nstudies = 5,
sd_raneff = 1.0, family = 'binomial',
seed = 1618, imbalance = 1,
pnonzerovar = 0, beta = c(0,rep(1,4)))
y = dat$y
X = dat$X[,-1]
group = dat$group
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
optim_options = optimControl(sampler = "STAN")),
regexp = "sampler must be specified")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
optim_options = optimControl(var_start = "rec")),
regexp = "var_start must either be 'recommend'")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
optim_options = optimControl(var_start = -1)),
regexp = "positive numeric value")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
optim_options = optimControl(nMC_start = 0)),
regexp = "must be positive integers")
})
####################################################################################################
# Test selectControl input arguments
####################################################################################################
test_that("test mis-specification of selectControl arguments",{
dat = sim.data(n = 500, ptot = 4, pnonzero = 4, nstudies = 5,
sd_raneff = 1.0, family = 'binomial',
seed = 1618, imbalance = 1,
pnonzerovar = 0, beta = c(0,rep(1,4)))
y = dat$y
X = dat$X[,-1]
group = dat$group
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
tuning_options = selectControl(lambda0_seq = seq(from = 1, to = 0.1, by = -0.1))),
regexp = "must be a sequence of ascending order")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
tuning_options = selectControl(lambda1_seq = seq(from = 1, to = 0.1, by = -0.1))),
regexp = "must be a sequence of ascending order")
expect_error(glmmPen(y ~ X + (X | group), family = "binomial",
tuning_options = selectControl(BIC_option = "BICH")),
regexp = "BIC_option must be")
})
####################################################################################################
####################################################################################################
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.