Learn R Programming

secr (version 2.9.0)

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 Rfunction model.matrix
tempmat
matrix for which row lookup required

Value

  • For secr.design.MS, a list with the components
  • designMatriceslist of reduced design matrices, one for each real detection parameter
  • parameterTableindex 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.
  • PIAParameter Index Array - index to row of parameterTable for a given session, animal, occasion and detector; dim(PIA) = c(R,n,S,K,M)
  • Rnumber 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) -
  • dframedataframe 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
  • validdimlist giving the valid dimensions (n, S, K, M) before padding
  • For make.lookup, a list with components
  • lookupmatrix of unique rows
  • indexindices 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