Nothing
## Started 2020-12-13
## 2023-03-29 test grouped-age CJS (details$agebreaks)
library(openCR)
## to avoid ASAN/UBSAN errors on CRAN, following advice of Kevin Ushey
## e.g. https://github.com/RcppCore/RcppParallel/issues/169
Sys.setenv(RCPP_PARALLEL_BACKEND = "tinythread")
# create small working proximity dataset
suppressWarnings(smallCH <- join(subset(ovenCHp, sessions = 1:3, traps = 1:20, dropnullocc = FALSE)))
args <- list(capthist = smallCH,
start = list(p = 0.4, phi = 0.497, f = 0.560),
details = list(LLonly = TRUE))
test_that("correct non-spatial likelihood", {
args$type = 'PLBf'
expect_equal(do.call(openCR.fit, args)[1], -246.589008,
tolerance = 1e-4, check.attributes = FALSE)
})
test_that("derived.openCR works with fixed parameters", {
args <- list(capthist = smallCH, type = 'PLBl', fixed = list(lambda = 1.0))
fit <- do.call(openCR.fit, args)
est <- derived(fit)$estimates
expect_equal(est$phi, c(0.4560217,0.4560217,NA), tolerance = 1e-5)
})
test_that("warning if invalid parameters in start list", {
expect_warning(openCR.fit (smallCH, type = 'PLBb', start= list(f = 0.6)))
})
# openCR 2.0 doubled LL and reported half variance
test_that("Pradel model results match Williams et al. Table 18.4", {
suppressWarnings(fitmpradelg <- openCR.fit(microtusMCH, type = "Pradelg",
model = list(p~t, phi~t, gamma~t)))
pred <- predict(fitmpradelg)
expect_equal(pred$gamma[3,'estimate'], 0.7052, tolerance = 1e-3)
expect_equal(pred$gamma[3,'SE.estimate'], 0.068, tolerance = 1e-3)
})
test_that("Correct coefficients from grouped-age CJS of poss8088F", {
# tests openCR.fit, predict.openCR and makeNewdata.openCR
datadir <- system.file('extdata', package = 'openCR')
CH <- readRDS(paste0(datadir,'/poss8088F.RDS'))
fit <- openCR.fit(CH, model = list(phi ~ age), ncores = 2, details = list(
agebreaks = c(0,3,6,Inf), initialage = 'age', maximumage = 6))
# select Feb1980 estimates
expect_equal(predict(fit,all.levels=TRUE)$phi$estimate[c(1,28,55)],
c(0.6660459, 0.9177610, 0.8211389), tolerance = 1e-4)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.