secr-package: Spatially Explicit Capture-Recapture Models

Description Details Acknowledgements Author(s) References See Also Examples


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: 3.1.3
Date: 2017-12-02
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-tutorial.pdf introductory tutorial
secr-habitatmasks.pdf buffers and habitat masks
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 help pages are also available as secr-manual.pdf.

The datasets possum, skink, ovenbird, housemouse, deermouse, ovensong, hornedlizard and stoatDNA include examples of fitted models.

Two 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).

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 ‘secr’. Feedback on the software is also welcome, including suggestions for additional documentation or new features consistent with the overall design.


David Borchers made many of these methods possible with his work on the likelihood. Deanna Dawson edited some of the documentation (the cleaner bits!) and her support and collaboration were important throughout. Tiago Marques and Mike Meredith suggested many improvements to the documentation and provided valued criticism and support. Erin Peterson and Mathias Tobler made specific suggestions that improved the randomHabitat and functions.


Murray Efford [email protected]


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 in press DOI: 10.1111/biom.12766.

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 Dec. 3, 2017, 5:03 p.m.