secr-package: Spatially Explicit Capture-Recapture Models

secr-packageR Documentation

Spatially Explicit Capture–Recapture Models


Functions to estimate the density and size of a spatially distributed animal population sampled with an array of passive detectors, such as traps, or by searching polygons or transects.


Package: secr
Type: Package
Version: 4.6.1
Date: 2023-07-10
License: GNU General Public License Version 2 or later

Spatially explicit capture–recapture is a set of methods for studying marked animals distributed in space. Data comprise the locations of detectors (traps, searched areas, etc. described in an object of class ‘traps’), and the detection histories of individually marked animals. Individual histories are stored in an object of class ‘capthist’ that includes the relevant ‘traps’ object.

Models for population density (animals per hectare) and detection are defined in secr using symbolic formula notation. Density models may include spatial or temporal trend. Possible predictors for detection probability include both pre-defined variables (t, b, etc.) corresponding to ‘time’, ‘behaviour’ and other effects), and user-defined covariates of several kinds. Habitat is distinguished from nonhabitat with an object of class ‘mask’.

Models are fitted in secr by maximizing either the full likelihood or the likelihood conditional on the number of individuals observed (n). Conditional likelihood models are limited to homogeneous Poisson density, but allow continuous individual covariates for detection. A model fitted with is an object of class secr. Generic methods (plot, print, summary, etc.) are provided for each object class.

A link at the bottom of each help page takes you to the help index. Several vignettes complement the help pages:

General interest
secr-overview.pdf general introduction
secr-datainput.pdf data formats and input functions
secr-version4.pdf changes in secr 4.0
secr-manual.pdf consolidated help pages
secr-tutorial.pdf introductory tutorial
secr-habitatmasks.pdf buffers and habitat masks
secr-spatialdata.pdf using spatial data
secr-models.pdf linear models in secr
secr-troubleshooting.pdf problems with, including speed issues
More specialised topics
secr-densitysurfaces.pdf modelling density surfaces
secr-finitemixtures.pdf mixture models for individual heterogeneity
secr-markresight.pdf mark-resight data and models
secr-multisession.pdf multi-session capthist objects and models
secr-noneuclidean.pdf non-Euclidean distances
secr-parameterisations.pdf alternative parameterisations sigmak, a0
secr-polygondetectors.pdf using polygon and transect detector types
secr-sound.pdf analysing data from microphone arrays
secr-varyingeffort.pdf variable effort in SECR models

The datasets captdata and ovenbird include examples of fitted models. For models fitted to other datasets see secr-version4.pdf Appendix 2.

Add-on packages extend the capability of secr and are documented separately. secrlinear enables the estimation of linear density (e.g., animals per km) for populations in linear habitats such as stream networks (secrlinear-vignette.pdf). secrdesign enables the assessment of alternative study designs by Monte Carlo simulation; scenarios may differ in detector (trap) layout, sampling intensity, and other characteristics (secrdesign-vignette.pdf). ipsecr fits some awkward models (e.g., for single-catch traps) by simulation and inverse prediction (ipsecr-vignette.pdf). openCR fits open population models, both non-spatial and spatial (openCR-vignette.pdf).

The analyses in secr extend those available in the software Density (see for the most recent version of Density). Help is available on the ‘DENSITY | secr’ forum at and the Google group secrgroup. Feedback on the software is also welcome, including suggestions for additional documentation or new features consistent with the overall design.


Murray Efford


Borchers, D. L. and Efford, M. G. (2008) Spatially explicit maximum likelihood methods for capture–recapture studies. Biometrics 64, 377–385.

Borchers, D. L. and Fewster, R. M. (2016) Spatial capture–recapture models. Statistical Science 31, 219–232.

Efford, M. G. (2004) Density estimation in live-trapping studies. Oikos 106, 598–610.

Efford, M. G. (2011) Estimation of population density by spatially explicit capture–recapture with area searches. Ecology 92, 2202–2207.

Efford, M. G., Borchers D. L. and Byrom, A. E. (2009) Density estimation by spatially explicit capture-recapture: likelihood-based methods. In: D. L. Thomson, E. G. Cooch and M. J. Conroy (eds) Modeling Demographic Processes in Marked Populations. Springer, New York. Pp. 255–269.

Efford, M. G., Borchers D. L. and Mowat, G. (2013) Varying effort in capture–recapture studies. Methods in Ecology and Evolution 4, 629–636.

Efford, M. G., Dawson, D. K. and Borchers, D. L. (2009) Population density estimated from locations of individuals on a passive detector array. Ecology 90, 2676–2682.

Efford, M. G., Dawson, D. K. and Robbins C. S. (2004) DENSITY: software for analysing capture-recapture data from passive detector arrays. Animal Biodiversity and Conservation 27, 217–228.

Efford, M. G. and Fewster, R. M. (2013) Estimating population size by spatially explicit capture–recapture. Oikos 122, 918–928.

Efford, M. G. and Hunter, C. M. (2017) Spatial capture–mark–resight estimation of animal population density. Biometrics 74, 411–420.

Efford, M. G. and Mowat, G. (2014) Compensatory heterogeneity in capture–recapture data.Ecology 95, 1341–1348.

Royle, J. A., Chandler, R. B., Sollmann, R. and Gardner, B. (2014) Spatial capture–recapture. Academic Press.

Royle, J. A. and Gardner, B. (2011) Hierarchical spatial capture–recapture models for estimating density from trapping arrays. In: A.F. O'Connell, J.D. Nichols and K.U. Karanth (eds) Camera Traps in Animal Ecology: Methods and Analyses. Springer, Tokyo. Pp. 163–190.

See Also

read.capthist,, traps, capthist, mask


## Not run: 

## generate some data & plot
detectors  <- make.grid (nx = 10, ny = 10, spacing = 20,
    detector = "multi")
plot(detectors, label = TRUE, border = 0, gridspace = 20)
detections <- sim.capthist (detectors, noccasions = 5,
    popn = list(D = 5, buffer = 100),
    detectpar = list(g0 = 0.2, sigma = 25))
session(detections) <- "Simulated data"
plot(detections, border = 20, tracks = TRUE, varycol = TRUE)

## generate habitat mask
mask <- make.mask (detectors, buffer = 100, nx = 48)

## fit model and display results
secr.model <- (detections, model = g0~b, mask = mask)

## End(Not run)

secr documentation built on July 26, 2023, 5:43 p.m.