Learn R Programming

secr (version 3.0.1)

secr.design.MS: Construct Detection Model Design Matrices and Lookups

Description

Internal functions used by secr.fit.

Usage

secr.design.MS (capthist, models, timecov = NULL, sessioncov = NULL, 
    groups = NULL, hcov = NULL, dframe = NULL, naive = FALSE, bygroup = FALSE,
    keep.dframe = FALSE, full.dframe = FALSE, ignoreusage = FALSE, ...)

make.lookup (tempmat)

Arguments

capthist
capthist object
models
list of formulae for parameters of detection
timecov
optional dataframe of values of time (occasion-specific) covariate(s).
sessioncov
optional dataframe of values of session-specific covariate(s).
groups
optional vector of one or more variables with which to form groups. Each element should be the name of a factor variable in the covariates attribute of capthist.
hcov
character name of an individual (capthist) covariate for known class membership in h2 models
dframe
optional data frame of design data for detection parameters
naive
logical if TRUE then modelled detection probability is for a naive animal (not caught previously); if FALSE then detection probability is contingent on individual's history of detection
bygroup
logical if TRUE then the individual dimension of the parameter matrix is automatically collapsed to one row per group; if FALSE then the full dimensionality is retained (one row per individual)
keep.dframe
logical; if TRUE the dataframe of design data is included in the output
full.dframe
logical; if FALSE then padding rows are purged from output dframe (ignored if keep.dframe = FALSE)
ignoreusage
logical; if TRUE any usage attribute of traps(capthist) is ignored
other arguments passed to the R function model.matrix
tempmat
matrix for which row lookup required

Value

For secr.design.MS, a list with the components

designMatrices
list of reduced design matrices, one for each real detection parameter

parameterTable
index to row of the reduced design matrix for each real detection parameter; dim(parameterTable) = c(uniquepar, np), where uniquepar is the number of unique combinations of paramater values (uniquepar < \(RnSKM\)) and np is the number of parameters in the detection model.

PIA
Parameter Index Array - index to row of parameterTable for a given session, animal, occasion and detector; dim(PIA) = c(R,n,S,K,M)

R
number of sessions

If models is empty then all components are NULL except for PIA which is an array of 1's (M set to 1).

Optionally (keep.dframe = TRUE) -

dframe
dataframe of design data, one column per covariate, one row for each c(R,n,S,K,M). For multi-session models n, S, and K refer to the maximum across sessions
validdim
list giving the valid dimensions (n, S, K, M) before padding

For make.lookup, a list with components

lookup
matrix of unique rows
index
indices in lookup of the original rows

Details

This is an internal secr function that you are unlikely ever to use. … may be used to pass contrasts.arg to model.matrix.

Each real parameter is notionally different for each unique combination of session, individual, occasion, detector and latent class, i.e., for \(R\) sessions, \(n\) individuals, \(S\) occasions and \(K\) detectors there are potentially \(R \times n \times S \times K\) different values. Actual models always predict a much reduced set of distinct values, and the number of rows in the design matrix is reduced correspondingly; a parameter index array allows these to retrieved for any combination of session, individual, occasion and detector.

The keep.dframe option is provided for the rare occasions that a user may want to check the data frame that is an intermediate step in computing each design matrix with model.matrix (i.e. the data argument of model.matrix).

See Also

D.designdata, model.matrix

Examples

Run this code
secr.design.MS (captdata, models = list(g0 = ~b))$designMatrices
secr.design.MS (captdata, models = list(g0 = ~b))$parameterTable

## peek at design data constructed for learned response model
head(captdata)
temp <- secr.design.MS (captdata, models = list(g0 = ~b),
    keep.dframe = TRUE)
a1 <- temp$dframe$animal == 1 &  temp$dframe$detector %in% 8:10
temp$dframe[a1,]

## ... and trap specific learned response model
temp <- secr.design.MS (captdata, models = list(g0 = ~bk),
    keep.dframe = TRUE)
a1 <- temp$dframe$animal == 1 &  temp$dframe$detector %in% 8:10
temp$dframe[a1,]

Run the code above in your browser using DataLab