Plot Detection Functions

Description

Plot detection functions using estimates of parameters in an secr object, or as provided by the user.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
## S3 method for class 'secr'
plot(x, newdata = NULL, add = FALSE,
    sigmatick = FALSE, rgr = FALSE, limits = FALSE, alpha = 0.05,
    xval = 0:200, ylim = NULL, xlab = NULL, ylab = NULL, ...)

## S3 method for class 'secrlist'
plot(x, newdata = NULL, add = FALSE,
    sigmatick = FALSE, rgr = FALSE, limits = FALSE, alpha = 0.05,
    xval = 0:200, ylim = NULL, xlab = NULL, ylab = NULL, ...,
    overlay = TRUE)

detectfnplot (detectfn, pars, details = NULL, add = FALSE,
    sigmatick = FALSE, rgr = FALSE, xval = 0:200, ylim = NULL,
    xlab = NULL, ylab = NULL, ...)

attenuationplot (pars, add = FALSE, spherical = TRUE,
    xval = 0:200, ylim = NULL, xlab = NULL, ylab = NULL, ...)

Arguments

x

an secr object

newdata

dataframe of data to form estimates

add

logical to add curve(s) to an existing plot

sigmatick

logical; if TRUE the scale parameter sigma is shown by a vertical line

rgr

logical; if TRUE a scaled curve r.g(r) is plotted instead of g(r)

limits

logical; if TRUE pointwise confidence limits are drawn

alpha

alpha level for confidence intervals

xval

vector of distances at for which detection to be plotted

ylim

vector length 2 giving limits of y axis

xlab

label for x axis

ylab

label for y axis

...

arguments to pass to lines

overlay

logical; if TRUE then automatically add = TRUE for plots after the first

detectfn

integer code or character string for shape of detection function 0 = halfnormal etc. – see detectfn

pars

list, vector or matrix of parameter values

details

list of ancillary parameters

spherical

logical for whether to include spherical spreading term

Details

newdata is usually NULL, in which case one curve is plotted for each session and group. Otherwise, predict.secr is used to form estimates and plot a curve for each row in newdata.

If axis labels are not provided they default to ‘Distance (m)’ and ‘Detection probability’ or ‘Detection lambda’.

detectfnplot is an alternative in which the user nominates the type of function and provides parameter values. pars maybe a list as from detectpar; it is first coerced to a numeric vector with unlist. Parameter values must be in the expected order (e.g. g0, sigma, z). If pars is a matrix then a separate curve is plotted with the parameter values in each row.

For detectfnplot the signal threshold parameters ‘cutval’ and ‘spherical’ should be provided in details (see examples).

Approximate confidence limits for g(r) are calculated using a numerical first-order delta-method approximation to the standard error at each xval. The distribution is assumed to be normal on the logit scale; limits are back-transformed from that scale.

attenuationplot plots the expected decline in signal strength with distance, given parameters beta0 and beta1 for a log-linear model of sound attenuation.

Value

plot.secr invisibly returns a dataframe of the plotted values (or a list of dataframes in the case that newdata has more than one row).

See Also

Detection functions, plot, secr

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
plot (secrdemo.b, xval = 0:100, ylim = c(0, 0.4))
## Add recapture probability
plot (secrdemo.b, newdata = data.frame(b = 1), add = TRUE,
    col = "red")

## signal strength detection: 70dB at source, attenuation
## 0.3dB/m, sdS 5dB; detection threshold 40 dB.
detectfnplot (detectfn = 10, c(70, -0.3, 5), details =
    list(cutval = 40))

## add a function with louder source and spherical spreading...
detectfnplot (detectfn = 11, c(110, -0.3, 5), details =
    list(cutval = 40), add = TRUE, col = "red")

## matching sound attenuation curves; `spherical-only' dashed line
attenuationplot (c(70, -0.3), spherical = FALSE, ylim=c(-10,110))
attenuationplot (c(110, 0), spherical = TRUE, add=TRUE, lty=2)
attenuationplot (c(110, -0.3), spherical = TRUE, add = TRUE,
    col = "red")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.