Estimate g(0) or g(x) for a specified distance function.
F.gx.estim(fit, x.scl = NULL, g.x.scl = NULL, observer = NULL)
A list comprised of the following components:
The value of x (distance) at which g() is evaluated.
The estimated value of g() when evaluated at x.scl
.
An estimated dfunc
object. See dfuncEstim
.
The x coordinate (a distance) at which to scale the
sightability function to g.x.scl
, or the string "max".
When x.scl
is specified (i.e., not 0 or "max"), it must have measurement
units assigned using either library(units);units(x.scl) <- '<units>'
or x.scl <- units::set_units(x.scl, <units>)
. See
units::valid_udunits()
for valid symbolic units. See
Details for more on
scaling the sightability function.
Height of the distance function at coordinate x.
The distance function
will be scaled so that g(x.scl
) = g.x.scl
.
If g.x.scl
is not
a data frame, it must be a numeric value (vector of length 1)
between 0 and 1.
See Details.
A numeric scalar or text string specifying whether observer 1
or observer 2 or both were full-time observers.
This parameter dictates which set of observations form the denominator
of a double observer system.
If, for example, observer 2 was a data recorder and part-time observer,
or if observer 2 was the pilot, set observer
= 1.
If observer
= 1, observations by observer 1 not seen
by observer 2 are ignored. The estimate of detection in this case is the
ratio of number of targets seen by both observers
to the number seen by both plus the number seen by just observer 2.
If observer = "both", the
computation goes both directions.
When g.x.scl
is a data frame, it is assumed to contain
the components $obsby.1
and $obsby.2
(no flexibility on names).
Each row in the data frame contains data from one sighted target.
The $obsby.1
and $obsby.2
components are
TRUE/FALSE (logical) vectors indicating whether
observer 1 (obsby.1
) or observer 2 (obsby.2
) spotted the target.
This routine scales sightability such that
g(x.scl
) = g.x.scl
, where g() is the sightability function.
Specification of x.scl
and g.x.scl
covers several estimation cases:
g(0) = 1 : (the default) Inputs are x.scl
= 0, g.x.scl
= 1.
If w.lo
> 0, x.scl
will be set to w.lo
so technically this case is g(w.low
) = 1.
User supplied probability at specified distance: Inputs are
x.scl
= a number greater than or equal
to w.lo
, g.x.scl
= a number between 0 and 1. This case
covers situations where sightability on the transect (distance 0) is
not perfect. This case assumes researchers have an independent
estimate of sightability at distance
x.scl
off the transect. For example, researchers could be
using multiple
observers to estimate that sightability at distance x.scl
is g.x.scl
.
Maximum sightability specified: Inputs
are x.scl
="max", g.x.scl
= a number
between 0 and 1. In this case,
g() is scaled such that its maximum value is g.x.scl
.
This routine computes the distance at which g() is maximum, sets
g()'s height there to g.x.scl
, and returns x.max
where
x.max is the distance at which g is maximized. This case covers the
common aerial survey situation where maximum sightability is slightly
off the transect, but the distance at which the maximum occurs
is unknown. This case is the default, with g.x.scl
= 1,
when gamma distance functions are estimated.
Double observer system: Inputs are
x.scl
="max", g.x.scl
= <a data frame>.
In this case, g(x) = h, where x is the distance that
maximizes g and h is the height of g() at x
computed from the double observer data frame (see below for
structure of the double observer data frame).
Distance of independence specified, height computed from double
observer system: Inputs are
x.scl
= a number greater than or equal to w.lo
g.x.scl
= a data frame. In this case, g(x.scl
) = h,
where h is computed from the double observer data frame
(see below for structure of the double observer data frame).
When x.scl
, g.x.scl
, or observer
are NULL, the routine
will look for and use $call.x.scl
, or $call.g.x.scl
, or
$call.observer
components of the fit
object for whichever
of these three parameters is missing. Later, different
values can be specified in a direct call to F.gx.estim
without having to re-estimate the distance function. Because of this feature,
the default values in dfuncEstim
are x.scl
= 0 and
g.x.scl
= 1 and observer
= "both".
dfuncEstim
set.seed(555574)
x <- rnorm(1000) * 100
x <- x[ 0 < x & x < 100 ]
x <- units::set_units(x, "m")
un.dfunc <- dfuncEstim( x ~ 1
, likelihood = "logistic")
F.gx.estim(un.dfunc)
x <- rgamma(1000, shape = 5)
x <- units::set_units(x, "m")
gam.dfunc <- dfuncEstim( x ~ 1
, likelihood="Gamma")
F.gx.estim(gam.dfunc)
Run the code above in your browser using DataLab