knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This vignette shows how to get a camera trap station operability matrix, shortly called camera operation matrix as returned by camtrapR's function cameraOperation.
Load packages:
library(camtraptor) library(lubridate) library(dplyr)
By loading package camtraptor
, a camera trap data package called mica
is made available. This data package contains camera trap data of musk rats and coypus. We will use this variable from now on.
You can create a camera operation matrix by passing a camera trap data package:
get_cam_op(mica)
The function will read the deployments
slot of the data package to create the matrix.
The matrix rows are the location names, by default the values of field locationName
of deployments
. Column names are dates. The matrix values are: 0 if station is not active, an integer (1 or more) if one or more deployments linked to the same station are fully active during the whole day and a decimal value for partially active stations.
In the example above there was a one-to-one relation between deployments and locations: the daily effort is between 0 and 1.
In the example below we show what happens if all four deployments are set to the same location (B_DL_val 5_beek kleine vijver
) and they are active during the same days:
mica1 <- mica mica1$data$deployments$locationName <- mica1$data$deployments$locationName[1] mica1$data$deployments$start <- mica1$data$deployments$start[1] mica1$data$deployments$end <- mica1$data$deployments$end[1] multiple_deploys_matrix <- get_cam_op(mica1) multiple_deploys_matrix
In the example below we simulate a location (B_DM_val 4_'t WAD
) linked to two deployments active in two different periods:
mica2 <- mica mica2$data$deployments$locationName[4] <- mica2$data$deployments$locationName[3] mica2$data$deployments$start[4] <- mica2$data$deployments$end[3] + ddays(5) mica2$data$deployments$end[4] <- mica2$data$deployments$start[4] + ddays(5) mica2$data$deployments %>% dplyr::select(locationName, start, end)
This results in the following camera operation matrix:
two_deploys_two_periods_matrix <- get_cam_op(mica2) days_to_show <- seq(as.Date(mica2$data$deployments$start[3]), as.Date(mica2$data$deployments$end[4]), by = "days") two_deploys_two_periods_matrix[3,as.character(days_to_show)]
You can specify the column containing the station names instead of using the default locationName
. In the example below we use the column locationID
. A small preview of the matrix is shown:
cam_op_with_locationID <- get_cam_op(mica, station_col = "locationID") cam_op_with_locationID[1:4, 1:2]
You can also decide to use prefix "Station"
in the station names as done by camtrapR's cameraOperation()
by setting use_prefix = TRUE
. A small preview of the entire matrix is shown:
cam_op_with_prefix <- get_cam_op(mica, use_prefix = TRUE) cam_op_with_prefix[1:4,1:2]
You can specify the column containing the camera IDs to be added to the station names following the camtrapR's convention: Station__CAM_CameraID
. Only the row names are shown:
mica_cameras <- mica mica_cameras$data$deployments$cameraID <- c(1, 2, 3, 4) cam_op_with_camera_ids <- get_cam_op(mica_cameras, camera_col = "cameraID") row.names(cam_op_with_camera_ids)
You cans also add the session IDs using session_col
argument, following the camtrapR's convention: Station__SESS_sessionID
:
mica_sessions <- mica mica_sessions$data$deployments$session <- c(1, 2, 3, 4) cam_op_with_session_ids <- get_cam_op(mica_sessions, session_col = "session") row.names(cam_op_with_session_ids)
To use both camera and session IDs, the camtrapR's convention Station__SESS_SessionID__CAM_CameraID
is followed:
mica_sessions$data$deployments$cameraID <- c(1, 2, 3, 4) cam_op_with_session_and_camera_ids <- get_cam_op( mica_sessions, camera_col = "cameraID", session_col = "session" ) row.names(cam_op_with_session_and_camera_ids)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.