View source: R/integrateHalfnormLines.R
| integrateHalfnormLines | R Documentation |
Compute integral of the half-normal distance function for line-transect surveys.
integrateHalfnormLines(
object,
newdata = NULL,
w.lo = NULL,
w.hi = NULL,
Units = NULL
)
object |
Either an Rdistance fitted distance function
(an object that inherits from class "dfunc"; usually produced
by a call to |
newdata |
A data frame containing new values for
the distance function covariates. If NULL and
|
w.lo |
Minimum sighting distance or left-truncation value
if |
w.hi |
Maximum sighting distance or right-truncation value
if |
Units |
Physical units of sighting distances if
|
Returned integrals are
\int_0^{w} e^{-x^2/2\sigma_i^2} dx = \sqrt{2\pi}\sigma_i (\Phi(w) - 0.5),
where w = w.hi - w.lo, \sigma_i is the estimated half-normal distance
function parameter for the
i-th observed distance, and \Phi is the standard normal
cumulative probability function.
Rdistance uses R's base
function pnorm(), which for all intents and purposes is exact.
A vector of areas under the distance functions represented in
object.
If object is a distance function and
newdata is specified, the returned vector's length is
nrow(newdata). If object is a distance function and
newdata is NULL,
returned vector's length is length(distances(object)). If
object is a matrix, return's length is
nrow(object).
Users will not normally call this function. It is called
internally by nLL and effectiveDistance.
integrateNumeric; integrateNegexpLines;
integrateOneStepLines
# Fake distance function object w/ minimum inputs for integration
d <- rep(1,4) %m%. # Only units needed, not values
obs <- factor(rep(c("obs1", "obs2"), 2))
beta <- c(3.5, -0.5)
w.hi <- 125
w.lo <- 20
ml <- list(
mf = model.frame(d ~ obs)
, par = beta
, likelihood = "halfnorm"
, w.lo = w.lo %#% "m"
, w.hi = w.hi %#% "m"
, expansions = 0
)
class(ml) <- "dfunc"
integrateHalfnormLines(ml)
# Check: Integral of exp(-x^2/(2*s^2)) from 0 to w.hi-w.lo
b <- exp(c(beta[1], beta[1] + beta[2]))
intgral <- (pnorm(w.hi, mean=w.lo, sd = b) - 0.5) * sqrt(2*pi)*b
intgral
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.