library("testthat")
test_that("fastBAR prior is the same as old BAR implementation for logistic model", {
skip_on_cran()
skip_on_travis()
p <- 100 # number of covariates
n <- 300 # sample size
## Cox model parameters
true.beta <- c(1, 0, 0, -1, 1, rep(0, p - 5))
set.seed(12345)
## simulate data for logistic model
itcpt <- 0.5
x <- matrix(rnorm(p * n, mean = 0, sd = 1), ncol = p)
y <- rbinom(n, 1, 1 / (1 + exp(-itcpt - x %*% true.beta)))
cyclopsData <- createCyclopsData(y ~ x, modelType = "lr")
barPrior <- createBarPrior(penalty = log(p), initialRidgeVariance = 1 / log(p),
exclude = c("(Intercept)"))
cyclopsFit <- fitCyclopsModel(cyclopsData,
prior = barPrior)
cyclopsData <- createCyclopsData(y ~ x, modelType = "lr")
fastBarPrior <- createFastBarPrior(penalty = log(p), initialRidgeVariance = 1 / log(p),
exclude = c("(Intercept)"))
cyclopsFit2 <- fitCyclopsModel(cyclopsData,
prior = fastBarPrior)
expect_equal(coef(cyclopsFit), coef(cyclopsFit2))
expect_equal(class(cyclopsFit2)[1], "cyclopsFit")
expect_equal(class(cyclopsFit2)[2], "cyclopsFastBarFit")
#Omitting the exclude intercept command.
cyclopsData <- createCyclopsData(y ~ x, modelType = "lr")
fastBarPrior <- createFastBarPrior(penalty = log(p), initialRidgeVariance = 1 / log(p))
expect_warning(cyclopsFit3 <- fitCyclopsModel(cyclopsData,
prior = fastBarPrior))
expect_equal(coef(cyclopsFit2), coef(cyclopsFit3))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.