Changes in version 2.6.0 (2013-06-11) New features or changed behaviour of old functions o secr.fit() may be used with method = 'none' to compute only the hessian and variance-covariance matrix of beta parameters for the current dataset at the values in start (useful in simulation of precision) o secr.fit() h2 and h3 mixture models allow the latent class of none, some, or all individuals to be specified via an individual covariate named in new argument 'hcov' (also estimates sex ratio). 'hcov' is a new component of secr objects. o secr.fit() default type for automatic mask changed from "traprect" to "trapbuffer" o the AIC methods for secr and secrlist objects and model.average() allow the user to choose between AIC and AICc as the criterion o if there is a single parameter to estimate, secr.fit() now searches with optimise() for the likelihood maximum in an interval controlled by details$intwidth2 o 2-3 letter abbreviations may be used for all detection functions ('HN','EX' etc.) o new detection functions for halfnormal (14, HHN), hazard rate (15, HHR), exponential (16, HEX) etc. on hazard scale (cf Royle & Gardner 2011, with sqrt(2) difference in half-normal sigma) (see ?detectfn) o circular.r() and circular.p() have new argument 'hazard' to convert from detection probability to hazard scale before computation. Conversion is the default, so results will differ. Also, both functions now have a dots argument allowing integration settings to be changed (see Examples in Help), and circular.p() uses explicit expression for exponential. o trap.builder() acquires arguments 'exclude' and 'exclmethod' to constrain placement of detectors o secr.design.MS() acquires arguments 'keep.dframe' and 'full.dframe' (used for checking), and 'hcov' to specify known membership of latent classes as in secr.fit() o secr.design.MS() checks that the levels of factor covariates are the same across sessions o predict.secr() acquires argument 'type' to enable values to be returned on the link scale o predict.secr() now reports the SE and confidence interval for the mixing proportion pmix in 2-class finite mixture models o sim.capthist() g0 component of 'detectpar' argument may be a matrix specifying variation both by occasion (row) and detector (column) and 'detectpar' may include a learned response of g0 to capture - for trap ('single' and 'multi') detectors only o model.average() implements the model-averaged tail area (MATA) confidence intervals of Turek and Fletcher (2012) and provides a choice of information criterion (AIC or AICc) o model.average() and collate() now accept secrlists as input o secrlist() generates names "secr1", "secr2" etc. for successive components if not already named Bugs fixed o secr.fit() failed with 2-class finite mixture models when the pmix parameter was fixed by the user, and esa() and derived() failed when pmix fixed via details$fixedbeta o secr.fit() could fail with complex multi-session data due to bug in secr.design.MS() o timevaryingcov<- failed if usage not NULL o plot.mask() did not use all arguments when plotting a list of masks o plot.capthist() did not always restore the existing palette o pointsInPolygon() sometimes failed when used with a mask as the second argument and points fell on the lefthand edge of a cell o predict.secr() reported SE slightly in error for non-constant parameters and did not label groups when defined but 'g' not in model Other o secr.fit() suggestion to use BFGS suppressed o deprecated maptools function 'overlay' replaced with 'over' o secr.fit() uses MASS function ginv (generalised matrix inverse) rather than solve, and package now Depends on MASS. Variance calculation is expected to be more robust when not all parameters are identifiable. o print.secr() call displayed with quotes around character arguments Changes in version 2.5.0 (2013-01-24) New features or changed behaviour of old functions o detector usage may be non-binary 'effort', and if binary is coded consistently as numeric (0/1) rather than logical (FALSE/TRUE) o snip() new function splits transects into shorter sections o reduce.traps() new method aggregates data from nearby detectors o reduce.capthist() re-written with new arguments; optionally calls a reduce.traps (see previous) o usage.plot() new function to plot detector-specific usage(effort) o sim.capthist() noccasions argument must be specified, either explicitly or implicitly via the usage attribute of traps. o pdot() and pdot.contour() respect the usage attribute of the traps argument, from which noccasions will be taken if usage is present; no default is provided for noccasions. o secrlist() new function makes list of fitted models (class 'secrlist') o plot.traps() acquires argument markvertices for emphasising points on transects, polygons o fxi.contour() and fxi.secr() enabled for detector arrays with incomplete usage o new definition of usage has several flow on effects: reduce.capthist() records the summed usage on pooled occasions, join() retains usage, summary.traps() and print.secr report range of trap-specific usage for each occasion, etc. o autoini() acquires arguments tol (default 0.001, previously fixed), binomN, adjustg0, and ignoreusage. o suggest.buffer() acquires argument ignoreusage o secr.fit() new details component ignoreusage (default FALSE) o read.traps() acquires argument 'binary.usage'; binary.usage = FALSE allows input of continuous effort fields o derived() returns NULL and a warning rather than an error if input is not a fitted model o exports the internal function make.lookup() o binomial count models now parameterised g0 = p rather than g0 = pN in secr.fit() and sim.capthist(); this will change estimated g0 from these models Bugs fixed o fxi.contour() output format no longer data dependent; argument 'i' may be used to select a range of animals to plot o ip.secr() various adjustments o secr.fit() integration for polygon and transect detector types used memory inefficiently o secr.fit() could fail with distribution = 'binomial' (i.e. fixed-N) when virtually all individuals in the estimated population were detected (n near N). o plot.traps() confusion among minor arguments for multi-session plots o secr.fit() could be very slow with exclusive detectors (e.g., 'multi','polygonX') when usage varied o derived.external() bad 'clust' argument in esagradient call o secr.make.newdata did not work with factor tcov o addCovariates() did not accept missing values in character fields Changes in version 2.4.0 (2012-11-05) New features or changed behaviour of old functions o sim.secr(), mask.check(), ip.secr(), score.test(), LLsurface.secr(), derived() and secr.fit() optionally use multiple cores managed through the 'parallel' package. This may speed up secr.fit() for multi-session datasets, but often slows it down. o proctime reported by secr.fit() and ip.secr() now defined as the total elapsed time, to allow for parallel processing o new function signalmatrix() to extract signal data in sound x microphone matrix format o new function signalframe() to extract signal attribute from a capthist object o detector covariates may vary over time (see ?timevaryingcov). summary.traps() has been modified to report timevaryingcov. o experimental 'telemetry' detector type with associated functions make.telemetry() and addTelemetry; also, sim.capthist() recognises the 'telemetry' detector type o secr.fit() argument 'details' has logical component 'unmash', used to scale density to number of mashed clusters in each session (i.e. allow density to be modelled while cluster number varies across sessions) o split method for capthist objects has new argument 'bytrap' for splitting captures according to location, and adds leading zero when forming session name from numeric f o split method for traps objects has new argument 'byoccasion' for splitting trap locations by occasion, allowing for session-specific 'usage'. o mash() drops attributes of 'traps'; names sessions for list input; n.mash attribute retains cluster names o RMarkInput() and unRMarkInput have new argument 'covariates' for individual covariates (all included by default), and the default value of the 'grouped' argument is now FALSE o spacing() method for traps and mask objects gets new logical argument 'recalculate' to force recalculation. This is now the default after a subset, split or rbind operation on a traps object, removing the potential for misleading. o subset.capthist() acquires new argument 'dropNAsignals' to address inconsistency with signal strength data when some signals have missing values; also new argument 'cutabssignal' for whether to apply cutval to absolute signal strength or the difference between signal and noise. o predict.secr() now drops unused columns of 'newdata' from names of output components o plot.capthist() now issues warnings when track joins repeat detections on one occasion in arbitrary sequence (proximity and count data) or no detections in dataset o mask.check() enhanced labels on output o optional use of gpclib by suggest.buffer() has been suppressed Bugs fixed o fxi.contour() and fxi.secr() failed with normal = FALSE o join() dropped occasions with no detections o RMarkInput() added spurious occasion when grouped = FALSE (thanks to Jeff Stetz for spotting this) o sim.capthist() misleading warning on p.available o make.grid() could fail if boustrophedonic numbering requested with nx=1 or ny=1 o secr.fit() with signal detector failed to find cutval in multi-session capthist o secr.fit() k, K models did not work with multi-session data o secr.fit() individual covariate problems with multi-session data o derived() sometimes failed with varying number of traps per session o summary.capthist() with terse = TRUE failed to count detections for count and polygon detectors (apparent when printing a fitted secr object) o simulate.secr() could fail with multi-session model when mask size varied between sessions o likelihood for multisession models included multinomial component only for last session; this did not affect estimates, but causes AIC to differ between 2.4.0 and previous versions [noted retrospectively 2013-01-03 thanks to Eric Howe]