% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/triangle.like.R
\name{triangle.like}
\alias{triangle.like}
\title{Mixture of triangle and uniform likelihood}
\usage{
triangle.like(a, dist, covars, w.hi = NULL)
}
\arguments{
\item{a}{A vector or matrix of covariate 
and expansion term 
coefficients. If matrix, dimension is 
\emph{k} X \emph{p}, where 
\emph{k} = \code{nrow(a)}) is the number of coefficient
vectors to evaluate (cases) and \emph{p} 
= \code{ncol(a)})
is the number of covariate and expansion 
coefficients in the likelihood (i.e., rows are 
cases and columns are covariates). If \code{a} is a 
dimensionless vector, it is interpreted as a 
single row with \emph{k} = 1. 
Covariate coefficients in \code{a} are the first 
\emph{q} values (\emph{q} <= \emph{p}), and must 
be on a log scale.}

\item{dist}{A numeric vector of length \emph{n} or 
a single-column matrix (dimension \emph{n}X1) containing 
detection distances at which to evaluate the likelihood.}

\item{covars}{A numeric vector of length \emph{q} or a
matrix of dimension \emph{n}X\emph{q} containing 
covariate values 
associated with distances in argument \code{dist}.}

\item{w.hi}{A numeric scalar containing maximum 
distance. The right-hand cutoff or upper limit. 
Ignored by some likelihoods (such as halfnorm, 
negexp, and hazrate), but is a fixed parameter
in other likelihoods (such as oneStep 
and uniform).}
}
\value{
A list containing the following two components:
\itemize{
  \item \bold{L.unscaled}: A matrix of size 
   \emph{n}X\emph{k} (\emph{n} = length \code{dist}; \emph{k} = number of
   cases = \code{nrow(a)})
   containing likelihood values evaluated at 
   distances in \code{dist}.
   Each row is associated with 
   a single distance, and each column is associated with 
   a single case (row of \code{a}).  Values in this matrix are  
   the distance function \eqn{g(d)} which generally have \eqn{g(0) = 1}.
   These values are "unscaled" likelihood values; they must be 
   scaled (divided by) with the area under \eqn{g(x)} between w.lo and w.hi  
   to form proper likelihood values. 
   
 \item \bold{params}: A \emph{n}X\emph{b}X\emph{k}  array 
 of the likelihood's (canonical) parameters in link space (i.e., on 
 log scale; \emph{b} = number of canonical parameters in 
 the likelihood; \emph{k} = number of cases). 
 Rows correspond to distances in \code{dist}. Columns 
 correspond to parameters (columns of \code{a}), 
 and pages correspond to cases (rows of \code{a}). 
}
}
\description{
Compute likelihood function for a mixture of a triangle and 
uniform distributions.
}
\details{
Rdistance's \code{triangle} likelihood is a mixture of a 
triangle and uniform distribution. The 'triangle' density function
is  
\deqn{f(d|\theta, p) = (1 - \frac{1-p}{\theta}d) I(0 \leq d \leq \theta) + 
       p I(\theta \le d \leq w),}{
       f(d|T) = (1 - (1-p)*d/T)I(0<=d<=T) + p*I(T<d<=w),}
where 
\eqn{I(x)} is the indicator function for event \eqn{x}, 
and \eqn{w} is the nominal strip width 
(i.e., \code{w.hi - w.lo} in Rdistance). 
The unknown parameters to be estimated 
are \eqn{\theta}{T} and \eqn{p} 
(\eqn{w} is fixed - given by the user). 
 
Covariates influence values of \eqn{\theta}{T} 
via a log link function, i.e., \eqn{\theta = e^{x'b}}{T = exp(x'b)},
where \eqn{x} is the vector of covariate values 
associated with distance \eqn{d}, and \eqn{b}
is the vector of estimated coefficients.
}
\examples{

w <- 250
Theta <- 160
p <- 0.4
d <- seq(0,w,length = w+1)
y <- (1 - ((1-p)/Theta)*d)*(d <= Theta) + p*(d > Theta)
plot(d, y, type="l", ylim = c(0,1), xlab = "Distance", ylab = "Probability")
points(Theta, p, pch=16, col = "red")
lines(c(-10,Theta), c(p,p), lty = 2, col = "grey")
axis(2, at=p, label = "p", line = 1, srt = 0, tick = FALSE)
lines(c(Theta,Theta), c(-1,p), lty = 2, col = "grey")
axis(1, at=Theta, label = "Theta", line = 2, tick = FALSE)

Theta <- 25
p <- 0.2
y <- (1 - ((1-p)/Theta)*d)*(d <= Theta) + p*(d > Theta)
lines(d, y)
points(Theta, p, pch=16, col = "red")
lines(c(-10,Theta), c(p,p), lty = 2, col = "grey")
axis(2, at=p, label = "p", line = 1, srt = 0, tick = FALSE)
lines(c(Theta,Theta), c(-1,p), lty = 2, col = "grey")
axis(1, at=Theta, label = "Theta", line = 2, tick = FALSE)

# same as above
y <- triangle.like(a = c(log(Theta), p)
                 , dist = d
                 , covars = matrix(1, length(d))
                 , w.hi = 250)
lines(d, y$L.unscaled, col = "green")

}
\seealso{
\code{\link{dfuncEstim}}, 
         \code{\link{abundEstim}},
         other \code{<likelihood>.like} functions
}
