F.double.obs.prob: Compute double observer probability of detection (No external...

F.double.obs.probR Documentation

Compute double observer probability of detection (No external covariates allowed)


Estimates the probability of detection in a two-observer system when observations are independent.


F.double.obs.prob(df, observer = "both")



A data frame containing the components $obsby.1 and $obsby.2. These components are either 0/1 (0 = missed, 1 = seen) or TRUE/FALSE (logical) vectors indicating whether observer 1 (obsby.1) or observer 2 (obsby.2) spotted the target. There is no flexibility on naming these columns of df. They must be named $obsby.1 and $obsby.2.


A number of text string indicating the primary observer. Primary observers can be observer 1, or observer 2, or "both". If, for example, observer 2 was a data recorder and part-time observer, or if observer 2 was the pilot, set observer = 1. This dictates which set of observations form the denominator of the double observer system. For example, if observer = 1, observations by observer 1 that were not seen by observer 2 are ignored. The estimate in this case uses targets seen by both observers and those seen by observer 2 but not observer 1. If observer = "both", the denominator is computed twice, once assuming observer 1 was the primary, once assuming observer 2 was the primary, and then computes the probability of one or more observers sighting a target.


When observer = "both", the observers are assumed to be independent. In this case the estimate of detection is

p = p_1 + p_2 - p_1p_2

where p_1 is the proportion of targets seen by observer 2 that were also seen by observer 1, p_2 is the proportion of targets seen by observer 1 that were also seen by observer 2. This estimator is very close to unbiased when observers are actually independent.


A single scalar, the probability of detection estimate.

See Also

dfuncEstim, abundEstim


#   Fake observers
  obsrv <- data.frame( obsby.1=rbinom(100,1,.75), obsby.2=rbinom(100,1,.5) )
  F.double.obs.prob( obsrv, observer=1 )
  F.double.obs.prob( obsrv, observer=2 )
  F.double.obs.prob( obsrv, observer="both" )

Rdistance documentation built on July 9, 2023, 6:46 p.m.