context("Continuous convolution kernel density estimator")
# dummy data
set.seed(5)
dat <- data.frame(
F1 = factor(rbinom(10, 4, 0.1), 0:4),
Z1 = ordered(rbinom(10, 5, 0.5), 0:5),
Z2 = ordered(rpois(10, 1), 0:10),
X1 = rnorm(10),
X2 = rexp(10)
)
set.seed(5)
fit <- cckde(dat)
test_that("Recognizes discrete variables", {
expect_length(attr(fit$x_cc, "i_disc"), 6)
})
test_that("Works with numeric and data.frame input", {
expect_error(cckde(sapply(dat, as.numeric), bw = 0))
})
test_that("bw parameter works", {
expect_error(cckde(dat, bw = 0))
expect_error(cckde(dat, bw = rep(0, 8)))
bw <- rep(0.5, 8)
names(bw) <- expand_names(dat)
new_fit <- cckde(dat, bw = bw)
expect_equal(new_fit$bw, bw)
})
test_that("mult parameter works", {
expect_error(cckde(dat, mult = 0))
set.seed(5)
new_fit <- cckde(dat, mult = 2)
expect_equal(2 * fit$bw, new_fit$bw)
set.seed(5)
new_fit <- cckde(dat, mult = 1:8)
expect_equal(1:8 * fit$bw, new_fit$bw)
})
test_that("Density works", {
expect_error(dcckde(dat, 1))
expect_is(dcckde(dat[1, ], fit), "numeric")
expect_gte(min(dcckde(dat, fit)), 0)
expect_equal(dcckde(dat, fit), predict(fit, dat))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.