test_that("Delta-truncated NB2 works with various types of predictions", {
skip_on_cran()
skip_if_not_installed("glmmTMB")
set.seed(1)
d0 <- data.frame(y = rnbinom(n = 1e3, mu = 3, size = 5))
fit <- sdmTMB(
y ~ 1,
data = d0,
spatial = FALSE,
family = delta_truncated_nbinom2()
)
fit$sd_report
fit2 <- glmmTMB::glmmTMB(
y ~ 1,
ziformula = ~ 1,
data = d0,
family = glmmTMB::truncated_nbinom2()
)
p <- predict(fit)
p2 <- predict(fit2)
expect_equal(p2, p$est2, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "response")
expect_equal(p2, p$est, tolerance = 1e-4)
p <- predict(fit)
p2 <- predict(fit2, type = "zlink")
expect_equal(-p2, p$est1, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "conditional")
expect_equal(p2, p$est2, tolerance = 1e-4)
})
test_that("Delta-truncated NB1 works with various types of predictions", {
skip_on_cran()
skip_if_not_installed("glmmTMB")
set.seed(1)
d0 <- data.frame(y = rnbinom(n = 1e3, mu = 3, size = 5))
fit <- sdmTMB(
y ~ 1,
data = d0,
spatial = FALSE,
family = delta_truncated_nbinom1()
)
fit$sd_report
fit2 <- glmmTMB::glmmTMB(
y ~ 1,
ziformula = ~ 1,
data = d0,
family = glmmTMB::truncated_nbinom1()
)
p <- predict(fit)
p2 <- predict(fit2)
expect_equal(p2, p$est2, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "response")
expect_equal(p2, p$est, tolerance = 1e-4)
p <- predict(fit)
p2 <- predict(fit2, type = "zlink")
expect_equal(-p2, p$est1, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "conditional")
expect_equal(p2, p$est2, tolerance = 1e-4)
})
test_that("Truncated NB2 works with various types of predictions", {
skip_on_cran()
skip_if_not_installed("glmmTMB")
set.seed(1)
d0 <- data.frame(y = rnbinom(n = 1e3, mu = 3, size = 5))
d0 <- subset(d0, y > 0)
fit <- sdmTMB(
y ~ 1,
data = d0,
spatial = FALSE,
family = truncated_nbinom2()
)
fit2 <- glmmTMB::glmmTMB(
y ~ 1,
data = d0,
family = glmmTMB::truncated_nbinom2()
)
p <- predict(fit)
p2 <- predict(fit2)
expect_equal(p2, p$est, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "response")
expect_equal(p2, p$est, tolerance = 1e-4)
})
test_that("Truncated NB1 works with various types of predictions", {
skip_on_cran()
skip_if_not_installed("glmmTMB")
set.seed(1)
d0 <- data.frame(y = rnbinom(n = 1e3, mu = 3, size = 5))
d0 <- subset(d0, y > 0)
fit <- sdmTMB(
y ~ 1,
data = d0,
spatial = FALSE,
family = truncated_nbinom1()
)
fit2 <- glmmTMB::glmmTMB(
y ~ 1,
data = d0,
family = glmmTMB::truncated_nbinom1()
)
p <- predict(fit)
p2 <- predict(fit2)
expect_equal(p2, p$est, tolerance = 1e-4)
p <- predict(fit, type = "response")
p2 <- predict(fit2, type = "response")
expect_equal(p2, p$est, tolerance = 1e-4)
})
test_that("Truncated NB1/2 indexes are right", {
skip_on_cran()
set.seed(1)
d0 <- data.frame(y = rnbinom(n = 1e3, mu = 3, size = 5))
d0$year <- 1
# D-TNB2
fit <- sdmTMB(
y ~ 1,
data = d0,
time = "year",
spatiotemporal = "off",
spatial = FALSE,
family = delta_truncated_nbinom2()
)
p <- predict(fit, newdata = d0, return_tmb_object = TRUE)
x <- get_index(p, area = 1/nrow(d0))
pp <- predict(fit, type = "response")
expect_equal(x$est, pp$est[1], tolerance = 1e-3)
# D-TNB1
fit <- sdmTMB(
y ~ 1,
data = d0,
time = "year",
spatiotemporal = "off",
spatial = FALSE,
family = delta_truncated_nbinom1()
)
p <- predict(fit, newdata = d0, return_tmb_object = TRUE)
x <- get_index(p, area = 1/nrow(d0))
pp <- predict(fit, type = "response")
expect_equal(x$est, pp$est[1], tolerance = 1e-3)
# TNB2
dd <- subset(d0, y > 0)
fit <- sdmTMB(
y ~ 1,
data = dd,
time = "year",
spatiotemporal = "off",
spatial = FALSE,
family = truncated_nbinom2()
)
p <- predict(fit, newdata = d0, return_tmb_object = TRUE)
x <- get_index(p, area = 1/nrow(d0))
pp <- predict(fit, type = "response")
expect_equal(x$est, pp$est[1], tolerance = 1e-3)
# TNB1
fit <- sdmTMB(
y ~ 1,
data = dd,
time = "year",
spatiotemporal = "off",
spatial = FALSE,
family = truncated_nbinom2()
)
p <- predict(fit, newdata = d0, return_tmb_object = TRUE)
x <- get_index(p, area = 1/nrow(d0))
pp <- predict(fit, type = "response")
expect_equal(x$est, pp$est[1], tolerance = 1e-3)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.