Nothing
## Started 2021-11-09
## revised 2023-03-09
library(secr)
## 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")
####################################################################
## Ian Durbach Boost bug with Poisson count data 2021-11-03
## problem arose from switch to Boost distributions in C++ functions
## gpois, pski: when lambda zero Boost result is NAN instead of zero
## previously returned by dpois
# Poisson counts
set.seed(123)
detectors <- make.grid (nx = 6, ny = 8, detector = "count")
CHpois <- sim.capthist (detectors, popn = list(D = 10, buffer = 100),
detectpar = list(g0 = 0.2, sigma = 25), noccasions = 1)
test_that("correct likelihood (Poisson count data)", {
args <- list(capthist = CHpois, detectfn = 'HN', buffer = 100,
start = c(2.121835788, -1.040097594, 3.201521728), verify = FALSE)
args$details <- list(LLonly = TRUE, fastproximity = TRUE)
LL1 <- do.call(secr.fit, args)[1]
expect_equal(LL1, -122.138538, tolerance = 1e-4, check.attributes = FALSE)
args$details <- list(LLonly = TRUE, fastproximity = FALSE)
LL2 <- do.call(secr.fit, args)[1]
# expect_equal(LL2, -122.1523842, tolerance = 1e-4, check.attributes = FALSE)
expect_equal(LL2, -122.1385378, tolerance = 1e-4, check.attributes = FALSE) # 4.5.9
args$detectfn <- 'HHN'
args$start <- c(2.121836235, -1.342742898, 3.201525519)
args$details <- list(LLonly = TRUE, fastproximity = TRUE)
LL3 <- do.call(secr.fit, args)[1]
expect_equal(LL3, -122.1523842, tolerance = 1e-4, check.attributes = FALSE)
args$details <- list(LLonly = TRUE, fastproximity = FALSE)
LL4 <- do.call(secr.fit, args)[1]
# expect_equal(LL4, -122.3167724, tolerance = 1e-4, check.attributes = FALSE)
expect_equal(LL4, -122.1523842, tolerance = 1e-4, check.attributes = FALSE) # 4.5.9
})
###############################################################################
# binomial counts
set.seed(123)
CHbinom <- sim.capthist (detectors, popn = list(D = 10, buffer = 100),
detectpar = list(g0 = 0.1, sigma = 25), binomN = 5, noccasions = 1)
test_that("correct likelihood (binomial count data)", {
args <- list(capthist = CHbinom, detectfn = 'HN', binomN=5, buffer = 100,
start = c(2.3648, -2.4498, 3.3361 ), verify = FALSE,
details = list(LLonly = TRUE, fastproximity = FALSE))
LL1 <- do.call(secr.fit, args)[1]
expect_equal(LL1, -250.716399 , tolerance = 1e-4, check.attributes = FALSE)
usage(traps(CHbinom)) <- matrix(5, nrow = nrow(traps(CHbinom)), ncol = 1)
args$capthist <- CHbinom
args$binomN <- 1 # binomial size from usage
LL2 <- do.call(secr.fit, args)[1]
expect_equal(LL2, -250.716399 , tolerance = 1e-4, check.attributes = FALSE)
})
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.