PhysMove: Intraspecific Movements

Intraspecific movements

PhysMove includes three metrics for quantifying intraspecific movement patterns that are based on four functions, including:

Track dispersion

The gyrationRad() function calculates the dispersion (i.e., the gyration radius) of each track in a dataset (Figure V16).

gyrationRad() requires a data frame with telemetry data (see data formatting) and includes two optional parameters:

  • map: create a map (map=TRUE, by default), and
  • mapCol: change the colour of the points, which indicate average track location, and circles, which indicate how far each animal dispersed (mapCol=c("Black", "Red"), by default).

gyrationRad() outputs a data frame of the results that were used to create the map, including:

  • ref: the reference ID for each track,
  • avg long and avg lat: the average longitude and latitude coordinates in degrees for each track, and
  • rG (km): the gyration radius in kilometres for each track
# Calculate the dispersion of each track in the 'tracks' dataset
GR <- gyrationRad(tracks)

Figure V16 Map illustrating dispersion patterns for 'tracks' dataset using gyrationRad() default parameters. Black points represent the mean location of each track and red circles represent how far each track dispersed (i.e., each track’s gyration radius).

# Summarize gyration radius results
summary(GR)
#>       ref        avg_long          avg_lat            rG_(km)      
#>  Min.   : 1   Min.   :-0.4659   Min.   :-1.48078   Min.   : 61.10  
#>  1st Qu.: 7   1st Qu.: 0.4374   1st Qu.:-0.49511   1st Qu.: 90.54  
#>  Median :13   Median : 1.1271   Median : 0.04625   Median :104.13  
#>  Mean   :13   Mean   : 1.2665   Mean   : 0.09926   Mean   :105.41  
#>  3rd Qu.:19   3rd Qu.: 1.7190   3rd Qu.: 0.71868   3rd Qu.:126.31  
#>  Max.   :25   Max.   : 3.5944   Max.   : 1.78492   Max.   :168.22

Probability density function of gyration radius results

A pdf of the results from gyrationRad() can be plotted with the plotPDF() function when the desc parameter is set to “gyrationRad” (Figure V17).

# Create a pdf plot of gyration radius values
pdf.gr <- plotPDF((GR$`rG_(km)`), desc="gyrationRad")

Figure V17 Probability density function (pdf) plot of gyration radius values for the 'tracks' dataset determined with gyrationRad() default parameters. Plot created using plotPDF() with desc="gyrationRad".

Back to top

Track entropy

The entropy() function calculates track randomness based on the fraction of data points from each track within each grid cell (Figure V18). The resulting entropy scores are then normalised so results can be compared between individuals. Note that if a track only visits a single grid cell, normalised entropy cannot be calculated and will return NaN; these values are excluded from visualisations.

entropy() requires a data frame with telemetry data (see data formatting) and includes two optional parameters:

  • gridCell: change grid cell size in degrees (gridCell=0.25, by default), and
  • histPlot: output a histogram (histPlot=TRUE, by default).

entropy() outputs a data frame with four columns, including:

  • ref: reference ID for each track,
  • normalisedEntropy: normalised entropy scores,
  • indivEntropy: individual entropy scores (before normalisation), and
  • cellsVisited: number of cells visited by each track.
# Calculate track entropy using default parameters
Ent <- entropy(tracks)

Figure V18 Histogram of normalised entropy scores for 'tracks' dataset created using entropy() default parameters.

# Summarise entropy results
summary(Ent)
#>       ref     normalisedEntropy  indivEntropy    cellsVisited  
#>  Min.   : 1   Min.   :0.8637    Min.   :2.942   Min.   :27.00  
#>  1st Qu.: 7   1st Qu.:0.8984    1st Qu.:3.277   1st Qu.:39.00  
#>  Median :13   Median :0.9142    Median :3.708   Median :59.00  
#>  Mean   :13   Mean   :0.9082    Mean   :3.621   Mean   :57.32  
#>  3rd Qu.:19   3rd Qu.:0.9202    3rd Qu.:3.889   3rd Qu.:71.00  
#>  Max.   :25   Max.   :0.9256    Max.   :4.189   Max.   :94.00

Probability density function of entropy results

A pdf of the results from entropy() can be plotted with the plotPDF() function when the desc parameter is set to “entropy” (Figure V19).

# Create a pdf plot of the entropy scores
pdf.ent <- plotPDF(Ent$normalisedEntropy, desc="entropy")

Figure V19 Probability density function (pdf) plot of normalised entropy scores for 'tracks' dataset determined with entropy() default parameters. Plot created using plotPDF() with desc="entropy".

Back to top

Track predictability

The predictability() function calculates the limit of predictability for each track based on their individual entropy scores (Figure V20).

predictability() requires a data frame with telemetry data (see data formatting) and a data frame of results output from entropy(), and includes two optional parameters:

  • startVal: Optional starting value used to find a root value for the limit of predictability equation. If NULL (default), the starting value is automatically determined from the normalised entropy for each individual. The function will iteratively decrease the starting value by 0.01 until an acceptable root within (0,1) is found.
  • histPlot: output a histogram (histPlot=TRUE, by default).

predictability() outputs a data frame of results with two columns, including:

  • ref: reference ID for each track, and
  • predictability: predictability scores for each track.
# Track predictability using predictability() default parameters and the output from entropy()
Pred <- predictability(tracks, Ent)

Figure V20 Histogram of predictability scores for 'tracks' dataset determined using predictability() default parameters and entropy scores from entropy().

# Summarize predictability scores
summary(Pred)
#>       ref     predictability  
#>  Min.   : 1   Min.   :0.1798  
#>  1st Qu.: 7   1st Qu.:0.1992  
#>  Median :13   Median :0.2058  
#>  Mean   :13   Mean   :0.2217  
#>  3rd Qu.:19   3rd Qu.:0.2420  
#>  Max.   :25   Max.   :0.3002

Probability density function of predictability results

A pdf of the results from predictability() can be plotted with the plotPDF() function when the desc parameter is set to “predictability” (Figure V21).

# Create a pdf plot of the predictability scores
pdf.pred <- plotPDF(Pred$predictability, desc="predictability")

Figure V21 Probability density function (pdf) plot of predictability scores for 'tracks' dataset determined with predictability() default parameters and results from entropy(). Plot created using plotPDF() with desc="predictability".

Back to top