Learn R Programming

secr (version 5.0.0)

snip: Slice Transect Into Shorter Sections

Description

This function splits the transects in a `transect' or `transectX' traps object into multiple shorter sections. The function may also be applied directly to a capthist object based on transect data. This makes it easy to convert detection data collected along linear transects to point detection data (see Example).

Usage

snip(object, from = 0, by = 1000, length.out = NULL, keep.incomplete = TRUE, tol = 0.01)

Value

A `traps' or `capthist' object, according to the input. If keep.incomplete == FALSE animals and detections from the

Arguments

object

secr `traps' or `capthist' object based on transects

from

numeric starting posiiton (m)

by

numeric length of new transects (m)

length.out

numeric number of new transects, as alternative to `by'

keep.incomplete

logical; if TRUE then initial or terminal sections of each original transect that are less than `by' will be retained in the output

tol

numeric tolerance for xyontransect (capthist only)

Warning

snip does not work for mark--resight data.

Details

If a positive length.out is specified, by will be computed as (transectlength(object) - from) / length.out.

See Also

transectlength, discretize

Examples

Run this code

x <- seq(0, 4*pi, length = 41)
temptrans <- make.transect(x = x*100, y = sin(x)*300)
plot (snip(temptrans, by = 200), markvertices = 1)

if (FALSE) {

## simulate some captures
tempcapt <- sim.capthist(temptrans, popn = list(D = 2,
   buffer = 300), detectfn = 'HHN', binomN = 0,
   detectpar = list(lambda0 = 0.5, sigma = 50))

## snip capture histories
tempCH <- snip(tempcapt, by = 20)

## collapse from 'transect' to 'count', discarding location within transects
tempCH <- reduce(tempCH, outputdetector = "count")

## fit secr model and examine H-T estimates of density
## fails with detectfn = 'HN'
fit <- secr.fit(tempCH, buffer = 300, CL = TRUE, detectfn = 'HHN', trace = FALSE)
derived(fit)

## also, may split an existing transect into equal lengths
## same result:
plot(snip(temptrans, by = transectlength(temptrans)/10),
    markvertices = 1)
plot(snip(temptrans, length.out = 10), markvertices = 1)

}

Run the code above in your browser using DataLab