Generate a capthist object for spatial capture-recapture analyses from camera-trapping data

Share:

Description

This function generates spatial detection histories of individuals of a species for spatial capture-recapture analyses with package secr. Data are stored in a capthist object. The capthist object contains detection histories, camera-trap station location and possibly individual and station-level covariates. Detection histories can have adjustable occasion length and occasion start time (as in the function detectionHistory]).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
spatialDetectionHistory(recordTableIndividual,
  species,
  camOp,
  CTtable,
  output,
  stationCol = "Station",
  speciesCol = "Species",
  sessionCol,
  Xcol,
  Ycol,
  stationCovariateCols,
  individualCol,
  individualCovariateCols,
  recordDateTimeCol = "DateTimeOriginal",
  recordDateTimeFormat = "%Y-%m-%d %H:%M:%S",
  occasionLength,
  minActiveDaysPerOccasion,
  occasionStartTime = 0,
  maxNumberDays,
  day1,
  buffer,
  includeEffort = TRUE,
  scaleEffort = FALSE,
  binaryEffort,
  timeZone,
  makeRMarkInput
)

Arguments

recordTableIndividual

data.frame. the record table with individual IDs created by recordTableIndividual

species

character. the species for which to compute the detection history

camOp

The camera operability matrix as created by cameraOperation

CTtable

data.frame. contains station IDs and coordinates. Same as used in cameraOperation.

output

character. Return individual counts ("count") or binary observations ("binary")?

stationCol

character. name of the column specifying Station ID in recordTableIndividual and CTtable

speciesCol

character. name of the column specifying species in recordTableIndividual

sessionCol

integer. name of the column specifying session IDs in recordTableIndividual. Must be integer numbers beginning with 1 (i.e., values can only be 1,2,3,...).

Xcol

character. name of the column specifying x coordinates in CTtable

Ycol

character. name of the column specifying y coordinates in CTtable

stationCovariateCols

character. name of the column(s) specifying station-level covariates in CTtable

individualCol

character. name of the column specifying individual IDs in recordTableIndividual

individualCovariateCols

character. name of the column(s) specifying individual covariates in recordTableIndividual

recordDateTimeCol

character. name of the column specifying date and time in recordTableIndividual

recordDateTimeFormat

format of column recordDateTimeCol in recordTableIndividual

occasionLength

integer. occasion length in days

minActiveDaysPerOccasion

integer. minimum number of active trap days for occasions to be included (optional)

occasionStartTime

integer. time of day (the full hour) at which to begin occasions.

maxNumberDays

integer. maximum number of trap days per station (optional)

day1

character. When should occasions begin: station setup date ("station"), first day of survey ("survey"), a specific date (e.g. "2015-12-31")?

buffer

integer. Makes the first occasion begin a number of days after station setup. (optional)

includeEffort

logical. Include trapping effort (number of active camera trap days per station and occasion) as usage in capthist object?

scaleEffort

logical. scale and center effort matrix to mean = 0 and sd = 1? Currently not used. Must be FALSE.

binaryEffort

logical. Should effort be binary (1 if >1 active day per occasion, 0 otherwise)?

timeZone

character. must be an argument of OlsonNames

makeRMarkInput

logical. If FALSE, output will be a data frame for RMark. If FALSE or not specified, a secr capthist object

Details

The function creates a capthist object by combining three different objects: 1) a record table of identified individuals of a species, 2) a camera trap station table with station coordinates and 3) a camera operation matrix computed with cameraOperation. The record table must contain a column with individual IDs and optionally individual covariates. The camera trap station table must contain station coordinates and optionally station-level covariates. The camera operation matrix provides the dates stations were active or not and the number of active stations.

day1 defines if each stations detection history will begin on that station's setup day (day1 = "station") or if all station's detection histories have a common origin (the day the first station was set up if day1 = "survey" or a fixed date if, e.g. day1 = "2015-12-31").

includeEffort controls whether an effort matrix is computed or not. If TRUE, effort will be used for object usage information in a traps. binaryEffort makes the effort information binary. scaleEffort is currently not used and must be set to FALSE. The reason is that usage can only be either binary, or nonnegative real values, whereas scaling effort would return negative values.

The number of days that are aggregated is controlled by occasionLength. occasionStartTime can be used to make occasions begin another hour than midnight (the default). This may be relevant for nocturnal animals, in which 1 whole night would be considered an occasion. Output can be returned as individual counts per occasion (output = "count") or as binary observation (output = "binary").

Argument sessionCol can be used to assign session numbers to the capthist object. The capture information are thus split by sessions. Session information must be provided as a column in recordTableIndividual in the form of integer numbers >= 1, i.e., you provide the session number directly in sessionCol. Currently, the function assumes the same traps to apply to all sessions.

capthist objects (as created by spatialDetectionHistory for spatial capture-recapture analyses) expect the units of coordinates (Xcol and col in CTtable) to be meters.

Value

Output depends on argument makeRMarkInput:

makeRMarkInput = FALSE

A capthist object

makeRMarkInput = TRUE

A data frame for use in RMark

Author(s)

Juergen Niedballa

See Also

secr RMark

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
data(recordTableIndividualSample)
data(camtraps)

# create camera operation matrix (with problems/malfunction)
camop_problem <- cameraOperation(CTtable      = camtraps,
                                 stationCol   = "Station",
                                 setupCol     = "Setup_date",
                                 retrievalCol = "Retrieval_date",
                                 writecsv     = FALSE,
                                 hasProblems  = TRUE,
                                 dateFormat   = "%d/%m/%Y"
)

sdh <- spatialDetectionHistory(recordTableIndividual = recordTableIndividualSample,
                               species               = "LeopardCat",
                               camOp                 = camop_problem,
                               CTtable               = camtraps,
                               output                = "binary",
                               stationCol            = "Station",
                               speciesCol            = "Species",
                               Xcol                  = "utm_x",
                               Ycol                  = "utm_y",
                               individualCol         = "Individual",
                               recordDateTimeCol     = "DateTimeOriginal",
                               recordDateTimeFormat  = "%Y-%m-%d %H:%M:%S",
                               occasionLength        = 10,
                               day1                  = "survey",
                               includeEffort         = TRUE,
                               timeZone              = "Asia/Kuala_Lumpur"
  )

# missing space in species = "LeopardCat" was introduced by recordTableIndividual
# (because of CRAN package policies.
# In your data you can have spaces in your directory names)

  summary(sdh)
  plot(sdh, tracks = TRUE)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.