context("Bootstrapping regression models")
test_that("Simple bootstrap with dataframe works", {
fit <- lm(Sepal.Width ~ Sepal.Length, data = iris)
expect_silent(bs <- bootstrapModels(fit, 10))
expect_is(bs, "list")
expect_equal(length(bs), 10)
expect_true(all(sapply(bs, class) == "lm"))
expect_false(identical(coef(fit), coef(bs[[1]])))
fit <- lm(Sepal.Width ~ Sepal.Length + Species, data = iris)
expect_silent(bs <- bootstrapModels(fit, 10))
expect_false(identical(coef(fit), coef(bs[[1]])))
})
test_that("Bootstrapping without database works", {
x <- iris$Sepal.Width
y <- iris$Sepal.Length
fit <- lm(y ~ x)
expect_silent(bs <- bootstrapModels(fit, 10))
expect_false(identical(coef(fit), coef(bs[[1]])))
z <- iris$Species
fit <- lm(y ~ x + z)
expect_silent(bs <- bootstrapModels(fit, 10))
expect_false(identical(coef(fit), coef(bs[[1]])))
})
test_that("Bootstrapping GLMs works", {
dat <- data.frame(x = runif(100, 0, 1), stringsAsFactors = TRUE)
dat$y <- rbinom(100, 1, log(dat$x*2 + 1) / log(3))
fit <- lm(y ~ x, data = dat)
expect_silent(bs <- bootstrapModels(fit, 10))
expect_false(identical(coef(fit), coef(bs[[1]])))
})
require(survey)
test_that("Bootstrapping survey GLMs works", {
data(api)
dclus2 <- svydesign(id = ~dnum + snum, weights = ~pw, data = apiclus2)
s <- svyglm(api00 ~ ell + meals + mobility, design = dclus2)
expect_warning(bootstrapModels(s, 10), "not yet ready")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.