Learn R Programming

⚠️There's a newer version (1.3.0) of this package.Take me there.

Jump to installation instructions

actel

of non-interactive code*

Read the latest news here!

Overview

If you are using acoustic telemetry to track animals as they move inside a study area or as they migrate somewhere, actel is the package for you. By bringing together the study area configuration and the recorded detections, actel provides a systematic way of analysing animal migration and residency data.

Main functions:

1. explore()

explore() allows you to quickly get a summary of your data. You can use explore() to get a general feel for the study results, and check if the input files are behaving as expected. It is also a good candidate if you just want to validate your detections for later use in other analyses.

2. migration()

The migration() analysis runs the same initial checks as explore(), but on top of it, it analyses the animal behaviour. By selecting the arrays that lead to success, you can define whether or not your animals survived the migration. Additional plots help you find out if some animal/tag has been acting odd. Multiple options allow you to tweak the analysis to fit your study perfectly.

3. residency()

The residency() analysis runs the same initial checks as explore(), but, similarly to migration, explores particular points of the animal behaviour. If you want to know where your animals were in each day of the study, how many animals were in each section each day, and other residency-focused variables, this is the analysis you are looking for!

Unlock actel's full potential

To truly learn how to operate actel, you must read the package vignettes. These have been arranged so that you can prepare your analysis as you learn; quite soon you will get your first results!

Here are some examples:

Movement tables:

ArrayDetectionsFirst stationLast stationFirst timeLast timeTime travellingTime on array
River114St.1St.22019-05-15 10:30:002019-05-15 13:00:00NA3:30:00
River23St.4St.42019-05-15 13:50:002019-05-15 14:40:000:50:000:50:00
River38St.5St.62019-05-15 16:00:002019-05-15 16:20:001:20:000:20:00
Fjord221St.10St.112019-05-16 15:10:002019-05-16 18:00:0022:50:002:50:00
Sea11St.18St.182019-05-18 09:45:002019-05-18 09:45:0015:45:000:00:00

Detection graphics

Times of arrival and summary information

Array efficiency and tag progression

Individual residency

Global residency

Installing actel

CRAN version: 1.1.1

actel is available on CRAN. To install the latest stable version, simply run:

install.packages("actel")

Development version

If you would like to install the latest updates (which have not been integrated to CRAN yet), you can run the line below. Note that you need to have the package remotes installed!

remotes::install_github("hugomflavio/actel", build_opts = c("--no-resave-data", "--no-manual"), build_vignettes = TRUE)

Have a look at the manual:

After installing, you should read the package vignettes (i.e. the manual), which can be found by running:

browseVignettes("actel")

Note:

  1. If the vignettes are not showing up with the command above, you can download them directly here: actel_vignettes.zip
  2. If you are getting "pandoc document conversion" errors during the package installation, try installing the newest version of pandoc, restarting R and trying again.

* interactive code (i.e. code that expects user input) cannot be tested automatically using codecov and, as such, was excluded from the codecov scope.

Copy Link

Version

Install

install.packages('actel')

Monthly Downloads

473

Version

1.1.1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Hugo Fl<c3><a1>vio

Last Published

September 11th, 2020

Functions in actel (1.1.1)

checkDeploymentStations

Confirm that the station names in the deployments table match those listed in the spatial file
checkDeploymentTimes

Confirm that receivers were not re-deployed before being retrieved
checkDupSignals

Check if there are duplicated signals in the detected tags.
checkGUI

Check if the dependencies required to open a GUI are installed, and if opening a GUI does not throw an error. Some code adapted from RGtk2's .onLoad function.
checkToken

Verify that the source data has been compiled using actel's preload function
checkUnknownReceivers

Find detections from unknown receivers
copyOfCirclePlotRad

circular:::circlePlotRad
convertTimes

Convert Times
assembleResidency

Collect summary information for the residency analysis
checkDupDetections

Check if there are duplicated detection in the input data
assembleOutput

Create status.df
emergencyBreak

Standard procedure when aborting
checkDetectionsBeforeRelease

Check if there are detections for the target tags before release.
checkReport

Check report compatibility
emptyMatrix

Create a Template Distances Matrix
exampleWorkspace

Deploy Example Data
checkSMovesN

Verify number of detections in section movements
excludeTags

Collect summary information on the tags detected but that are not part of the study.
actel-deprecated

Deprecated functions in package actel.
additional.residency.results

Example residency results
advEfficiency

Calculate beta estimations for efficiency
circularSection

Draw a section on the outside of the circle
checkJumpDistance

Check if tags are jumping over arrays
checkLinearity

Check that the tag linearly moved along the sections
cjs_args

CJS.R arguments
collectStrays

Collect summary information on the tags detected but that are not part of the study.
actel

actel: Acoustic Telemetry Data Analysis
combine

Combine a list of vectors
assembleTimetable

Create the timetable
countArrayFailures

Find and list arrays which failed during the movements of the tags
darken

darken colours
dataToList

Import RData in a list format
globalRatios

Calculate number/percentage of tags at each location for each day
graphicalInvalidate

Opens a new window that allows the user to determine movement event invalidity
copyOfRosediagRad

circular:::RosediagRad
combineCJS

Combine multiple CJS models
compileDetections

Combine ALS detections
blameArrays

Find which arrays to blame for a jump in movement events
checkMinimumN

Check that the tag have enough detections to be valid
createWorkspace

Create a Default Workspace
example.distances

Example distances matrix
checkNoDetections

Check if there are detections matching the target tags.
createUniqueSerials

Include the deployment in the serial number of the receive
example.detections

Example detection data
dotPaths

Find arrays valid for efficiency calculation
example.results

Example migration results
appendTo

Append to ...
assembleArrayCJS

Combine the individual CJS's of each array into a single table
example.spatial

Example spatial data
loadDeployments

Load deployments file and Check the structure
findDirectChains

Find all arrays linked to an array in a given direction
assembleSectionOverview

Create section.overview
loadDetections

Load ALS detections
dualArrayCJS

Calculate estimated last-array efficiency
findPeers

Find efficiency peers for each array
loadShape

Load shapefile and convert to a raster object.
checkTagsInUnknownReceivers

Check for target data in the unknown receivers
checkSpeeds

check tag speeds against defined thresholds (in m/s)
countBackMoves

Count backwards movements
assembleGroupCJS

Assembles CJS tables for all groups
loadSpatial

Load Spatial File
assembleSplitCJS

Assembles CJS tables for all group x release site combinations
discardFirst

Discard early detections
groupMovements

Group movements
matchl

TRUE/FALSE wrapper for match
decimalTime

Convert hh:mm:ss time to hh.hhh
getDualMatrices

Prepare intra-array matrices for selected arrays
firstArrayFailure

Determine if the first array after release has failed
mbGroupCJS

Calculate CJS for each group for each array
createStandards

Standardize serial numbers, stations and arrays in the detections
plotMoves

Plot moves for one ore more tags
assembleMatrices

Assemble detection matrices
deleteHelpers

Delete temporary files
distancesMatrix

Calculate Distances Matrix
oneWayMoves

Trim movements table to contain only uni-directional movements
includeIntraArrayEstimates

Incorporate intra-array estimates in the overall CJS object
getTimes

Extract timestamps from the analysis results.
loadStudyData

Load, structure and check the inputs
loadDistances

Load distances matrix
gg_colour_hue

Generate default ggplot colours
loadDot

Load spatial.dot
plotRatios

Plot global/group residency
printSectionTimes

Print arrival and departure times per section
match.POSIXt

Match POSIX values
overrideValidityChecks

Skips all validity checks for a tag and allows the user to freely invalidate events
dualMatrix

Compile detection matrix for last array
plotSensors

Plot sensor data for a single tag
plotResidency

Plot residency for a single tag
movementTimes

Calculate movement times
printSensorData

Print sensor data for each individual tag
myRoseDiag

Edited rose diagram function
plotDetections

Plot detections for a single tag
plotArray

Plot simultaneous/cumulative presences at a give array or set of arrays
breakMatricesByArray

Break the detection matrices per array
checkArguments

Check argument quality
plotTimes

Print circular graphics for time series.
simpleCJS

Analytical CJS model
simplifyMovements

Removes invalid events
vectorsIntoTables

Transform vectors into data frames with specific columns
preload

Load a dataset before running an analysis
checkImpassables

Find out if a tag moved in an impossible direction
printIndividualResidency

print the individual locations per day
printGlobalRatios

print the distribution of tags per location
checkInactiveness

Find if a tag is standing still in an array
readDot

Read dot file or string
processVemcoFile

Vemco files
checkUpstream

Check for movements upstream of the release site.
printProgression

Print progression diagram
check_args

check.R arguments
residency

Residency Analysis
stripCodeSpaces-deprecated

Remove Code Spaces from transmitter names
res_efficiency

Calculate array efficiency for residency analysis
completeMatrix

Complete a Distances Matrix
convertCodes

Convert code spaces
extractCodeSpaces

Extract Code Spaces from transmitter names
explore

Explorative Analysis
efficiencyMatrix

Compile inter-array detection matrix
res_assembleOutput

Create status.df
printResidencyRmd

Print Rmd report
resRatiosIndOut

compile output of dailyRatios
substrRight

Subset a character string counting from the right end
preloadDetections

Run quality checks on preloaded detections
dotList

Break the dot data frame into a list
dotMatrix

Create numerical distances between dot elements
example.biometrics

Example biometric data
speedReleaseToFirst

Calculate time and speed since release.
findSecondsPerSection

Calculate number of seconds at each location per day
extractSignals

Extract signals from transmitter names
findShortestChains

Find the shortest paths between arrays
example.deployments

Example deployment data
fact

nearsq helper
getSpeeds

Extract speeds from the analysis results.
getResidency

Assemble residency tables per tag
splitDetections

Split detections by tag
tableInteraction

Handler for table interaction events
timesToCircular

Convert a data frame with timestamps into a list of circular objects
includeUnknownReceiver

Temporarily include missing receivers in the spatial object
migration

Migration Analysis
includeMissing

Include tags that were never detected
mbSplitCJS

Calculate CJS for each group.release combination
invalidateEvents

Allow the user to determine a given movement event invalid
loadBio

Load Biometrics file
minuteTime

Convert numeric time to HH:MM
movementSpeeds

Calculate time and speed
na.as.false

Consider NA's as FALSE
printArrayOverview

print Rmd fragment for inclusion in the report
printIndividuals

Print individual graphics
printEfficiency

Print efficiency fragment
printExploreRmd

Print Rmd report
printBiometrics

Print biometric graphics
nearsq

Find optimum plotting grid
processThelmaNewFile

Thelma new export files
printLastArray

Print a simple barplot with the number of tags last seen at each section
printCircular

Print circular graphics for each array
printDot

Print DOT diagram
processThelmaOldFile

Thelma old export files
ringsRel

Draw rings at relative points
printDotplots

Print dotplots
roseMean

Draw mean value in the axis margin
printLastSection

Print a simple barplot with the number of tags last seen at each section
transitionLayer

Calculate Transition Layer
printMigrationRmd

Print Rmd report
storeStrays

Store summary information on the stray tags detected in a permanent file.
stopAndReport

stop function but paste error to the report too
updateValidity

update array-movement validity based on the section-movements
resPositions

Find the location where the tag spent most time per day
printSurvivalGraphic

Print survival graphic
roundUp

Forcefully round a number up
setSpatialStandards

Create Standard Names for spatial elements
processStandardFile

Standard detections file created for actel
sectionMovements

Compress array-movements into section-movements
resRatios

calculate residency ratios per tag
roundDown

Forcefully round a number down
userInput

Wrap frequently used code to handle user input
validateDetections

Compare original detections with the valid movements and exclude invalid detections
stationName

Find original station name
transferValidity

Transfer validity updates from valid movements to all movements
transformSpatial

Process spatial elements
std.error.circular

Calculate the standard error of the mean for circular data