Learn R Programming

unmarked (version 0.9-1)

unmarkedFrameMPois: Organize data for the multinomial-Poisson mixture model of Royle (2004) fit by multinomPois

Description

Organizes count data along with the covariates. This S4 class is required by the data argument of multinomPois

Usage

unmarkedFrameMPois(y, siteCovs=NULL, obsCovs=NULL, type, obsToY, 
    mapInfo, piFun)

Arguments

y
An RxJ matrix of count data, where R is the number of sites (transects) and J is the maximum number of observations per site.
siteCovs
A data.frame of covariates that vary at the site level. This should have R rows and one column per covariate
obsCovs
Either a named list of RxJ data.frames or a data.frame with RxJ rows and one column per covariate. For the latter format, the covariates should be in site-major order.
type
Either "removal" or "double" for removal sampling or double observer sampling. If this argument not specified, the user must provide an obsToY matrix. See details.
obsToY
A matrix describing the relationship between obsCovs and y. This is necessary because under some sampling designs the dimensions of y do not equal the dimensions of each observation leve
mapInfo
Currently ignored
piFun
Function used to compute the multinomial cell probabilities from a matrix of detection probabilities. This is created automatically if type is either "removal" or "double".

Value

  • an object of class unmarkedFrameMPois

Details

unmarkedFrameMPois is the S4 class that holds data to be passed to the multinomPois model-fitting function.

References

Royle, J. A. (2004). Generalized estimators of avian abundance from count survey data. Animal Biodiversity and Conservation, 27(1), 375-386.

See Also

unmarkedFrame-class, unmarkedFrame, multinomPois, piFuns

Examples

Run this code
# Fake doulbe observer data
R <- 4 # number of sites
J <- 2 # number of observers

y <- matrix(c(
   1,0,3,
   0,0,0,
   2,0,1,
   0,0,2), nrow=R, ncol=J+1, byrow=TRUE)
y

site.covs <- data.frame(x1=1:4, x2=factor(c('A','B','A','B')))
site.covs

obs.covs <- list(
   x3 = matrix(c(
      -1,0,
      -2,0,
      -3,1,
       0,0), 
      nrow=R, ncol=J, byrow=TRUE),
   x4 = matrix(c(
      'a','b',
      'a','b',
      'a','b',
      'a','b'), 
      nrow=R, ncol=J, byrow=TRUE))
obs.covs


# Create unmarkedFrame
umf <- unmarkedFrameMPois(y=y, siteCovs=site.covs, obsCovs=obs.covs,
    type="double")
    
# The above is the same as:
o2y <- matrix(1, 2, 3)
pifun <- function(p)
{
    M <- nrow(p)
    pi <- matrix(NA, M, 3)
    pi[, 1] <- p[, 1] * (1 - p[, 2])
    pi[, 2] <- p[, 2] * (1 - p[, 1])
    pi[, 3] <- p[, 1] * p[, 2]
    return(pi)
}

umf <- unmarkedFrameMPois(y=y, siteCovs=site.covs, obsCovs=obs.covs,
    obsToY=o2y, piFun="pifun")


# Fit a model
fm <- multinomPois(~1 ~1, umf)

Run the code above in your browser using DataLab