NEWS
openCR 2.2.7 (2024-10-23)
New features and changed behaviour
Other
- include package anchors in doc links
openCR 2.2.6 (2023-11-28)
New features and changed behaviour
- static userdist option; linear mask
- details may include stepmax argument passed to nlm
- openCR.fit() acquires details argument 'agebreaks'
- collate method for 'openCR' objects
Other
- makeNewData.openCR() rejects covariates with reserved names
- agebreaks largely replaces agecov for defining age groups
- openCR.design() acquires argument 'agebreaks', saves agelevels
- age.matrix() acquires argument 'unborn' (code for age<0)
- requires secr >= 4.6.1
- explicit error for integer overflow with many parameter levels
openCR 2.2.5 (2022-09-25)
New features and changed behaviour
Bugs fixed
- modelAverage.openCR() did not pass arguments to modelAverage.openCRlist()
openCR 2.2.4 (2022-07-01)
New features and changed behaviour
- ucare.cjs() temporarily removed (requires R2ucare)
Other
- vignette - new references and tweaked mention of ucare.cjs ()
openCR 2.2.3
New features and changed behaviour
Bugs fixed
- predict() failed with parameters b & h2 when number of sessions differed
among strata
- derived() not working with stratified model
- bad names in openCRlist output by par.openCR.fit()
- dummy variable coding failed with R>4.0
Other
- fix accidental inclusion of GitHub README
- depends secr >=4.5.0
- does not expect R2ucare to be on CRAN
openCR 2.2.2 (2022-01-17)
New features and changed behaviour
- modelAverage() method for openCR models
- openCR() new parameter 'settle' for weighted settlement
- cumMove() allows settlement to be weighted by 0-1 mask covariate
Bugs fixed
- expected.d() failed with user-defined movement model
Other
- Git repository synched with GitHub
- exampledata folder under inst with some previously fitted models
(used in Examples e.g. ?make.kernel)
openCR 2.2.1 (2021-11-10)
New features and changed behaviour
Bugs fixed
- openCR.fit() did not correctly fit non-spatial learned response (b) models
such as model = p~b, type = 'JSSAfCL' (bug undetected for some years).
Other
- tidied C++ code, edited vignette
openCR 2.2.0 (2021-11-03)
New features and changed behaviour
- openCR.fit() new defaults: kernelradius = 30, sparsekernel = TRUE
- plot.kernel() accepts meshcol argument
- make.kernel() acquires argument 'session' for model input
- expected.d() expected movement from movement parameters, fitted model etc.
- summary.kernel() expected distances use expected.d() and may differ
- matchscale() acquires argument 'expected' to match expected distance
- 'BVN2' movement model (equal mixture two BVN)
- bivariate Cauchy movement model 'BVC' (BVT with fixed move.b = 0.5)
- log-sech movement model 'RDLS' (partial implementation)
- extensions to plot.kernel
Bugs fixed
- openCR.fit() failed with non-binary detector usage
- domain errors in inputs to Boost statistical distributions could crash R
- make.table() could fail with models fitted before 2.1.0
Other
- new aliases for movementmodel 'RDE', RDG','RDL','RDEzi','IND','INDzi'
- RDL movementmodel no longer blocked (Boost call bypassed if scale infinite)
- openCR.fit() more robust to extreme parameter values (spatial models)
- more documentation of movement models
- improved weighting of sparse kernels; details argument 'r0' for
effective radius of zero cell
openCR 2.1.0 (2021-08-14)
New features and changed behaviour
- new movement kernels based on polar distance
- zero-inflated option for some movement kernels and 'uncorrelated' movement
- cumMove() compounds movement kernel and applies edge effect
- proportionInPolygon() sums probability within arbitrary polygon(s)
- optional link 'log1' defined as log(x-1) (constrains x>1)
- plot.kernel() uses par()$cex.main for title font
- openCR.fit() optional dummy variable coding of factor predictors
Bugs fixed
- openCR.esa() failed and hence derived() failed for spatial models
- openCR.make.newdata() failed if model from version <2.0.0 (details$minimumage not specified)
- m.array() mis-tabulated counts when none caught on some occasions (no flow-on)
- openCR.fit() version 2.0 halved variance for types 'Pradel' and 'Pradelg'
Other
- 'BVN','BVE','BVT' aliases for movementmodels 'normal','exponential','t2D'
- openCR.fit() default move.b for BVT changed to 1.5 (from 0.6)
- openCR.fit() details argument 'control' passes arguments to nlm()
- openCR.fit() default iterlim for nlm() raised to 300
- makeNewData() S3 method replaces openCR.make.newdata()
- C++ code uses Boost library for statistical distributions, avoiding R API
- kernel code simplified (one C++ routine) and tested
- long operations more responsive to interruption
- plot.openCR() definition of 'turnover parameters' for intermediate.x
extended to include move.a and move.b
- number of threads explicit in calls to RcppParallel parallelFor
- minor changes to make.kernel() and summary.kernel()
- c and '[' methods for openCRlist class; separate documentation of openCRlist()
- "anchored" movement (experimental)
openCR 2.0.2 (2021-05-15)
New features and changed behaviour
- make.table() acquires argument 'collapse' for stratified models
Bugs fixed
- C++ sqrt() ambiguity on r-patched-solaris-x86 (use std::sqrt())
- clang-UBSAN overflow error in tests (read beyond array in C++ getmoveargs)
- erroneous likelihood when dimensions differed among strata
- openCR.make.newdata() omitted session covariates of stratified model
- sumsims() failed with 'non-numeric argument to binary operator'
Other
- multithreaded Examples now in dontrun{} to avoid problematic TBB library
openCR 2.0.1 (2021-05-10)
New features and changed behaviour
Other
- run tests with Sys.setenv(RCPP_PARALLEL_BACKEND = "tinythread")
to avoid CRAN errors
- added URL to DESCRIPTION
- onLoad() allows for possibility of single CPU (previous minimum 2)
openCR 2.0.0
New features and changed behaviour
- stratified models
- generic method strata() for retrieving and assigning stratum names
- stratify() function to arrange data for stratified model
- openCR.fit() sparse movement kernels (new argument 'sparsekernel')
- openCR.fit() kernelradius elevated to full argument from 'details'
- make.kernel() saves empirical cumulative distribution function as attribute
- make.kernel() accepts fitted model as input
- pkernel() computes cumulative probability distribution of distance
- qkernel() computes quantiles of distance distribution
- dkernel() computes probability density of distance distribution
- matchscale() kernel scale parameter giving required quantile of distance
- plot.kernel() acquires argument 'title'
- new movementmodel "annular" in openCR.fit(), make.kernel() etc.
- HPX new detection function for binary detection
Bugs fixed
- age miscoded in openCR.make.newdata(), hence bad prediction for age models
- summary.kernel() proportion truncated misreported for exponential movement
- LLsurface.openCR() failed
Other
- vignette drops call for multiple cores
- Age2 included in openCR.make.newdata()
- plotKernel() removed (superceded by plot method for kernel objects)
- 'openCR' object returned by openCR.fit includes kernel coordinates
- optional logmultinomial term precalculated and not affected by covariates
- fixed doi format in a citation
- avoid ':::' (use local versions of unexported 'secr' functions)
- Imports RcppParallel version >= 5.1.1 to dodge problems in earlier releases
openCR 1.5.0 (2020-12-13)
New features and changed behaviour
- number of threads managed via RCPP_PARALLEL_NUM_THREADS as in secr
- PLB... aliases for JSSA...CL type names
- openCR.fit() new argument 'edgemethod' ("truncate", "wrap", "none")
- par.openCR.fit() modified to allow each fit to multithread
- openCR.fit() and openCR.design() new argument 'agecov' for grouping ages
- openCR.fit() and openCR.design() new argument 'minimumage'
- openCR.esa() now returns a list when bysession = TRUE
- openCR.esa() unsqueezes result (allows for histories with freq>1)
Bugs fixed
- movementmodel "user" failed (typo in openCR.fit line 80)
- secr LL component 3 miscalculated when some capthist repeated (biased D-hat)
- movement models bias in D-hat due to edge effect
- movement models failed when R = TRUE (dim(PIA) error)
- derived.openCR() mistakenly report kappa for spatial models
- some factor covariates mishandled by openCR.make.newdata() and hence by
predict, derived
Other
- more robust user-defined kernel
- calcpdotbd details argument of openCR.fit defunct
- correct description of runsim.spatial() intervals argument
- par.openCR.fit() ncores>1 is deprecated (slower than ncores=1!)
- par.openCR.fit() logfile defaults to automatically generated tempfile
- Suggests testthat, adds some unit tests
openCR 1.4.4 (2020-09-01)
New features and changed behaviour
Other
- suggests rmarkdown
- tweak url in vignette
openCR 1.4.2
New features and changed behaviour
- reported rank takes account of possible negative eigenvalues (eigH)
Other
- some data.frame() calls specify stringsAsFactors = TRUE for backwards
compatibility in R >= 4.0
- corrected return without ()
- terminal '/' on URLs in documentation as required
- updated references
openCR 1.4.1 (2019-06-30)
New features and changed behaviour
- sumsims() dropifnoSE condition now also rejects zero SE
- print.summary.openCR() drops attributes eigH and fit
Bugs fixed
- multiple problems in naive CJSsecr model (CJSp1 FALSE, the default)
- summary.openCR table of counts, format error with non-spatial model
Other
- details switch 'calcpdotbd' defaults to FALSE unless required for movement model;
may affect estimates with JSSAsecr models
- minor improvements to robustness when details$R = TRUE etc.
openCR 1.4.0 (2019-06-15)
New features and changed behaviour
- new 2-parameter movement kernel t2D for 2-D t-distribution
- new movement kernel uniform (no parameters, depends kernelradius)
- new function make.kernel() and kernel methods plot and summary
- plotKernel() deprecated
- runsims.spatial() more robust with non-standard extractfn
- see also 1.3.6
Bugs fixed
- biased estimates from movement models
Other
- removed redundant C++ code for single-threaded execution
- default details$autoini changed to NULL, meaning 'use all'
- classMembership should now work with movement models
openCR 1.3.6
New features and changed behaviour
- plot.openCR() invisibly returns the x coordinates of plotted points; dots argument
also controls axes, line width and colour of CI
- new plot method for output from derived.openCR
- openCR.fit checks whether autoini required (incomplete or no start provided)
- runsim.nonspatial() and runsim.spatial() return NULL for failed replicates rather than crashing
Bugs fixed
- derived method for openCR SECR models wrongly adjusted per capita recruitment
when intervals varied, with consequences for derived D-hat
- JSSAsecrXXX models gave erroneous estimates, particularly of lambda0 and sigma,
for count data with binomN = 0 (Poisson counts)
- predict.openCR failed when one parameter estimated (others fixed)
openCR 1.3.5 (2019-03-10)
New features and changed behaviour
Bugs fixed
- vignette rebuild failed on r-devel-linux-x86_64-debian-gcc (double \vec)
openCR 1.3.4 (2019-02-05)
Bugs fixed
- bad keyword in classMembership.Rd
Other
- removed unnecessary pdf from inst/doc
openCR 1.3.3
New features and changed behaviour
- enabled detector-level covariates
- summary method compatible with secr 3.2.0 (moves)
Bugs fixed
- openCR.make.newdata() and dependent methods (print, predict, summary etc.)
failed with learned responses (~b etc.)
openCR 1.3.2 (2018-12-09)
New features and changed behaviour
Other
- conditional use of R2ucare in Examples, vignette
openCR 1.3.1 (2018-12-08)
New features and changed behaviour
- sumsims accepts simulated fits with method = "none"
Other
- R2ucare now in Suggests not Imports, with tweak to ucare.cjs()
openCR 1.3.0 (2018-11-26)
New features and changed behaviour
- canned predictors for learned responses (b, bk etc.) redefined and extended
- AIC method acquires argument n to override the default effective sample size
- openCR.fit() no longer computes 'posterior' component for mixture models
- classMembership method for finite mixture models ('posterior' component removed)
- specifying native R routines for the likelihood forces ncores = 1
- print and AIC methods for summary.openCR
- openCR.fit() acquires argument dframe0 for pesky custom models with learned response
- par.openCR.fit() default trace = FALSE
- rev method for reversing primary sessions of capthist objects
Bugs fixed
- varying usage unreliable with 'multi' detector type in some circumstances
- summary method for openCR objects: erroneous counts in capthist component (ignored freq)
- finite mixture model posterior class membership crashed openCR.fit() for spatial models
- finite mixture models failed for 'multi' detector type
Other
- help page for openCR.design corrected
openCR 1.2.1
New features and changed behaviour
- runsim.spatial() acquires intervals argument
- summary method for openCR objects
- sumsims() accepts output from summary.openCR
- sumsims() acquires argument 'true' and adds summaries of bias, coverage etc.
- CJSp1 = TRUE details argument respected by openCR.design etc.
Bugs fixed
- sumsims() failed with parameters superN and superD
- derived method for openCR objects: erroneous f and lambda for some models when
intervals not 1.0
- print.derivedopenCR did not apply Dscale to session-specific D
Other
- changed default starting value for superD
- tweaks to print method for derivedopenCR class
- not published on CRAN
openCR 1.2.0 (2018-05-25)
New features and changed behaviour
- multithreaded execution of some functions (up to 4x speed gain)
- openCR.fit() types 'secrCL' and 'secrD' emulate closed-population analyses of 'secr'
- openCR.fit() trace may be a positive integer (frequency of reporting)
- ucare.cjs() wrapper for R2ucare test functions
- moving.fit() and extractFocal() functions for moving window of sessions
- m.array() reports releases on final session (last.session = TRUE)
- openCR.fit() details ignoreusage option
- runsim.spatial() and runsim.nonspatial() ncores argument defaults to NULL for multithreading
- cyclic.fit() exposed as internal function but not exported
- derived() method for openCR objects acquires arguments newdata and all.levels
Bugs fixed
- usage of count detectors not properly accounted for (noted by Richard Glennie)
- fixedbeta clashed with start argument (some options)
- session covariates not matched correctly with robust design sessions
- LLonly reported x -1
- details$hessian = FALSE failed
Other
- Links to RcppParallel
- Additional check for nonidentifiable parameters in print.openCR()
openCR 1.1.2 (2018-04-21)
New features and changed behaviour
Other
- tweaks to C++ code for CRAN (fabs -> abs)
- check for availability of RMark
- better failure criterion in bd.array()
- http changed to https where possible
openCR 1.1.1 (2018-04-12)
New features and changed behaviour
- movement kernel exposed
- bd.array() probability of (b,d)
- improved simulation functions
- start may be named numeric vector
Other
- first CRAN submission
- consolidates CJS and JSSA C code (e.g. prwisecrcpp)
- timevaryingcov<- disabled until next release secr
openCR 1.0.2
New features and changed behaviour
- movement kernel unsuppressed
openCR 1.0.1
New features and changed behaviour
- movement kernel [temporarily suppressed]
- plotKernel()
- movementmodel argument replaces staticHR
- experimental timevarying individual covariates
openCR 1.0.0
Known bugs
Other
- renumbered 1.0.0 (previously unreleased 2.2.3)