recurse: an R package to analyze spatiotemporal patterns in revisitations from animal movement data

Submitted by editor on 23 October 2018. Get the paper!

by Chloe Bracis

Animal movements are linked to both quotidian activities as well as larger questions of survival and reproduction. For example, one might think of an animal moving to locate food, or, on the other side of the coin, moving to avoid becoming someone else’s dinner. Some species undertake long-distance movements to arrive at breeding grounds or locate mates. One common feature of these movements is that they may be repeated. Watering holes may be revisited daily or when the animal is in the area. Fruiting or flowing plants may be revisited based on the regeneration cycle. Foraging grounds or other important resources may be visited repeatedly but irregularly. Despite the growing amount of data collected on animal movements and commonness of recursive movements, they remain little studied.


In this paper, we present an R package recurse, available on CRAN, that can be used to analyse the spatiotemporal patterns of revisitations and demonstrate its use with data from a turkey vulture Cathartes aura. With the package, you can calculate the number of revisitations to each location inside a radius, as well as additional metrics such as visit duration and the interval between visits. More details about using the package can be found in the vignette.


Turkey vultures are scavengers and daytime foragers who utilize roosts overnight and during other times of day. We use breeding season data over four years for a single turkey vulture, Leo, to demonstrate the package. We first look at revisitations generally and how they vary with distance to roads. We also use a clustering analysis to locate frequently used sites (i.e., nests or roosts) and examine the spatiotemporal patterns of revisitations to those sites. The full R code used in the analysis is available in the supplementary material.


Movement data for the turkey vulture ‘Leo’ during its summer residence in the breeding habitat near Leoville, Saskatchewan, Canada. The number of revisitations to a location is shown on a logarithmic scale from black (low) to yellow (high), with several areas of concentrated visits apparent.
There are further analyses possible with the package. Multiple individuals can be analysed independently or jointly for a population-level analysis of frequently visited locations. Patterns of revisitations can be combined with other information, such as environmental covariates, including those that are temporally coincident with each visit, or behavioural state from path segmentation. Rather than use all trajectory locations, you can specify particular sites of ecological interest or conservation concern. Further, the revisitations can also be calculated inside a user-specified polygon that may represent a protected area, specific habitat type or territory. Read the freely available paper here and install recurse from CRAN [install.packages("recurse")] to give it a try.