Learn R Programming

secr (version 5.0.0)

addTelemetry: Combine Telemetry and Detection Data

Description

Animal locations determined by radiotelemetry can be used to augment capture--recapture data. The procedure in secr is first to form a capthist object containing the telemetry data and then to combine this with true capture--recapture data (e.g. detections from hair-snag DNA) in another capthist object. secr.fit automatically detects the telemetry data in the new object.

Usage

addTelemetry (detectionCH, telemetryCH, type = c('concurrent','dependent','independent'), 
   collapsetelemetry = TRUE, verify = TRUE) 

xy2CH (CH, inflation = 1e-08)

telemetrytype (object) <- value

telemetrytype (object, ...)

Value

A single-session capthist object with the same detector type as

detectionCH, but possibly with empty rows and an `telemetryxy' attribute.

Arguments

detectionCH

single-session capthist object, detector type `single', `multi', `proximity' or `count'

telemetryCH

single-session capthist object, detector type `telemetryonly'

type

character (see Details)

collapsetelemetry

logical; if TRUE then telemetry occasions are collapsed to one

verify

logical; if TRUE then verify.capthist is called on the output

CH

capthist object with telemetryxy attribute

inflation

numeric tolerance for polygon

object

secr traps object

value

character telemetry type replacement value

...

other arguments

Details

It is assumed that a number of animals have been radiotagged, and their telemetry data (xy-coordinates) have been input to telemetryCH, perhaps using read.capthist with detector = "telemetryonly" and fmt = "XY", or with read.telemetry.

A new capthist object is built comprising all the detection histories in detectionCH, plus empty (all-zero) histories for every telemetered animal not in detectionCH. Telemetry is associated with new sampling occasions and a new detector (nominally at the same point as the first in detectionCH). The number of telemetry fixes of each animal is recorded in the relevant cell of the new capthist object (CH[i, s, K+1] for animal i and occasion s if there were K detectors in detectionCH).

The new sampling occasion(s) are assigned the detector type `telemetry' in the traps attribute of the output capthist object, and the traps attribute telemetrytype is set to the value provided. The telemetry type may be ``independent'' (no matching of individuals in captured and telemetered samples), ``dependent'' (telemetered animals are a subset of captured animals) or ``concurrent'' (histories may be capture-only, telemetry-only or both capture and telemetry).

The telemetry locations are carried over from telemetryCH as attribute `xylist' (each component of xylist holds the coordinates of one animal; use telemetryxy to extract).

The default behaviour of `addTelemetry` is to automatically collapse all telemetry occasions into one. This is computationally more efficient than the alternative, but closes off some possible models.

xy2CH partly reverses addTelemetry: the location information in the telemetryxy attribute is converted back to a capthist with detector type `telemetry'.

See Also

capthist, make.telemetry, read.telemetry, telemetryxy telemetered

Examples

Run this code

if (FALSE) {

# Generate some detection and telemetry data, combine them using
# addTelemetry, and perform analyses

# detectors
te <- make.telemetry()
tr <- make.grid(detector = "proximity")

# simulated population and 50% telemetry sample
totalpop <- sim.popn(tr, D = 20, buffer = 100)
tepop <- subset(totalpop, runif(nrow(totalpop)) < 0.5)

# simulated detection histories and telemetry
# the original animalID (renumber = FALSE) are needed for matching
trCH <- sim.capthist(tr,  popn = totalpop, renumber = FALSE, detectfn = "HHN")
teCH <- sim.capthist(te, popn = tepop, renumber=FALSE, detectfn = "HHN",
    detectpar = list(lambda0 = 3, sigma = 25))

combinedCH <- addTelemetry(trCH, teCH)

# summarise and display
summary(combinedCH)
plot(combinedCH, border = 150)
ncapt <- apply(combinedCH,1,sum)
points(totalpop[row.names(combinedCH)[ncapt==0],], pch = 1)
points(totalpop[row.names(combinedCH)[ncapt>0],], pch = 16)

# for later comparison of precision we must fix the habitat mask
mask <- make.mask(tr, buffer = 100)
fit.tr <- secr.fit(trCH, mask = mask, CL = TRUE, detectfn = "HHN")  ## trapping alone
fit.te <- secr.fit(teCH, mask = mask, CL = TRUE, start = log(20),   ## telemetry alone
    detectfn = "HHN") 
fit2   <- secr.fit(combinedCH, mask = mask, CL = TRUE,              ## combined
    detectfn = "HHN")                                 

# improved precision when focus on realised population
# (compare CVD)
derived(fit.tr, distribution = "binomial")
derived(fit2, distribution = "binomial")


# may also use CL = FALSE
secr.fit(combinedCH, CL = FALSE, detectfn = "HHN", trace = FALSE)
}

Run the code above in your browser using DataLab