Learn R Programming

unmarked (version 0.8-5)

occu: Fit the MacKenzie Occupancy Model

Description

This function estimates the standard occupancy model of MacKenzie et al (2002).

Usage

occu(formula, data, knownOcc=numeric(0), starts, method="BFGS",
    control=list(), se=TRUE)

Arguments

formula
double right-hand side formula describing covariates of detection and occupancy in that order.
data
an unmarkedFrameOccu object (see unmarkedFrame)..
knownOcc
vector of sites that are known to be occupied.
starts
vector of parameter starting values.
method
Optimization method used by optim.
control
Other arguments passed to optim.
se
logical specifying whether or not to compute standard errors.

Value

  • unmarkedFitOccu object describing the model fit.

Details

See unmarkedFrame for a description of how to supply data to the umf argument. occu fits the standard occupancy model based on zero-inflated binomial models (MacKenzie et al. 2006, Royle and Dorazio 2008). The occupancy state process ($z_i$) of site $i$ is modeled as

$$z_i \sim Bernoulli(\psi_i)$$

The observation process is modeled as

$$y_{ij}|z_i \sim Bernoulli(z_i p_{ij})$$

Covariates of $\psi_i$ and $p_{ij}$ are modeled using the logit link according to the formula argument. The formula is a double right-hand sided formula like ~ detform ~ occform where detform is a formula for the detection process and occform is a formula for the partially observed occupancy state. See formula for details on constructing model formulae in R.

References

MacKenzie, D. I., J. D. Nichols, G. B. Lachman, S. Droege, J. Andrew Royle, and C. A. Langtimm. Estimating Site Occupancy Rates When Detection Probabilities Are Less Than One. Ecology 83, no. 8 (2002): 2248-2255. MacKenzie, D. I. et al. (2006) Occupancy Estimation and Modeling. Amsterdam: Academic Press. Royle, J. A. and R. Dorazio. (2008).

Examples

Run this code
data(frogs)
pferUMF <- unmarkedFrameOccu(pfer.bin)
plot(pferUMF, panels=4)
# add some fake covariates for illustration
siteCovs(pferUMF) <- data.frame(sitevar1 = rnorm(numSites(pferUMF)))

# observation covariates are in site-major, observation-minor order
obsCovs(pferUMF) <- data.frame(obsvar1 = rnorm(numSites(pferUMF) * obsNum(pferUMF)))

(fm <- occu(~ obsvar1 ~ 1, pferUMF))

confint(fm, type='det', method = 'normal')
confint(fm, type='det', method = 'profile')

# estimate detection effect at obsvars=0.5
(lc <- linearComb(fm['det'],c(1,0.5)))

# transform this to probability (0 to 1) scale and get confidence limits
(btlc <- backTransform(lc))
confint(btlc, level = 0.9)

Run the code above in your browser using DataLab