cluster_track {QuAnTeTrack}R Documentation

Cluster tracks based on movement parameters

Description

cluster_track() clusters trajectories based on various movement and velocity parameters calculated for each track.

Usage

cluster_track(data, veltrack, variables)

Arguments

data

A track R object, which is a list consisting of two elements:

  • Trajectories: A list of interpolated trajectories, where each trajectory is a series of midpoints between consecutive footprints.

  • Footprints: A list of data frames containing footprint coordinates, metadata (e.g., image reference, ID), and a marker indicating whether the footprint is actual or inferred.

veltrack

A track velocity R object consisting of a list of lists, where each sublist contains the computed parameters for a corresponding track.

variables

A character vector specifying the movement parameters to be used in the clustering analysis. Valid parameter names include: "TurnAng", "sdTurnAng", "Distance", "Length", "StLength", "sdStLength", "Sinuosity", "Straightness", "Velocity", "sdVelocity", "MaxVelocity", "MinVelocity".

Details

The cluster_track() function performs a model-based clustering analysis on track parameters using the Mclust() function from the mclust package.

The function first filters out tracks with fewer than four steps, as these tracks may not provide reliable movement data. It then calculates various movement parameters for each remaining track, including turning angles, distances, lengths, sinuosity, straightness, and velocities. Finally, the selected movement parameters are used as input for clustering the tracks.

If only one parameter is selected, the clustering is performed using equal variance ("E") and variable variance ("V") Gaussian models. If more than one parameter is selected, all Gaussian models available in mclust.options("emModelNames") are considered.

The following movement parameters can be included in the clustering:

The cluster_track() function has biological relevance in identifying groups of tracks with similar movement parameters, providing insights into ecological and behavioral patterns. By clustering tracks based on characteristics such as sinuosity, velocity, and turning angles, it allows detecting movement patterns associated with specific behaviors. This can help identify tracks potentially made by individuals moving together, which is useful for investigating hypotheses on gregarious behavior, predation strategies, or coordinated movement. Additionally, clustering serves as a preliminary step before similarity tests and simulations, refining track selection and improving hypothesis testing in movement ecology studies.

Value

A track clustering R object consisting of a list containing the following elements:

Logo

Logo.png

Author(s)

Humberto G. Ferrón

humberto.ferron@uv.es

Macroevolution and Functional Morphology Research Group (www.macrofun.es)

Cavanilles Institute of Biodiversity and Evolutionary Biology

Calle Catedrático José Beltrán Martínez, nº 2

46980 Paterna - Valencia - Spain

Phone: +34 (9635) 44477

References

Alexander, R. M. (1976). Estimates of speeds of dinosaurs. Nature, 261(5556), 129-130.

Ruiz, J., & Torices, A. (2013). Humans running at stadiums and beaches and the accuracy of speed estimations from fossil trackways. Ichnos, 20(1), 31-35.

Scrucca L., Fop M., Murphy T. B., & Raftery A. E. (2016) mclust 5: clustering, classification and density estimation using Gaussian finite mixture models. The R Journal, 8(1), 289-317.

See Also

track_param, velocity_track, Mclust

Examples

# Example 1: Cluster MountTom tracks using TurnAng and Velocity
H_mounttom <- c(
  1.380, 1.404, 1.320, 1.736, 1.364, 1.432, 1.508, 1.768, 1.600,
  1.848, 1.532, 1.532, 0.760, 1.532, 1.688, 1.620, 0.636, 1.784,
  1.676, 1.872, 1.648, 1.760, 1.612
) # Hip heights for MountTom tracks
veltrack_MountTom <- velocity_track(MountTom, H = H_mounttom)
result1 <- cluster_track(MountTom, veltrack_MountTom,
  variables = c("TurnAng", "Velocity")
)
result1$clust$classification

# Example 2: Cluster MountTom tracks using Sinuosity and Step Length
result2 <- cluster_track(MountTom, veltrack_MountTom,
  variables = c("Sinuosity", "StLength")
)
plot(result2$clust)

# Example 3: Cluster MountTom tracks using Maximum and Minimum Velocity
result3 <- cluster_track(MountTom, veltrack_MountTom,
  variables = c("MaxVelocity", "MinVelocity")
)
result3$clust$classification

# Example 4: Cluster MountTom tracks using Straightness
result4 <- cluster_track(MountTom, veltrack_MountTom, variables = "Straightness")
result4$clust$classification

# Example 5: Cluster PaluxyRiver tracks using Distance and Straightness
H_paluxyriver <- c(3.472, 2.200) # Hip heights for PaluxyRiver tracks
Method_paluxyriver <- c("A", "B") # Different methods for different tracks
veltrack_PaluxyRiver <- velocity_track(PaluxyRiver,
  H = H_paluxyriver,
  method = Method_paluxyriver
)
result5 <- cluster_track(PaluxyRiver, veltrack_PaluxyRiver,
  variables = c("Distance", "Straightness")
)
result5$matrix
result5$clust$classification

# Example 6: Cluster PaluxyRiver tracks using Length and SD of Velocity
result6 <- cluster_track(PaluxyRiver, veltrack_PaluxyRiver,
  variables = c("Length", "sdVelocity")
)
plot(result6$clust)

# Example 7: Cluster PaluxyRiver tracks using TurnAng and SD of TurnAng
result7 <- cluster_track(PaluxyRiver, veltrack_PaluxyRiver,
  variables = c("TurnAng", "sdTurnAng")
)
result7$clust$classification

# Example 8: Cluster PaluxyRiver tracks using Sinuosity
result8 <- cluster_track(PaluxyRiver, veltrack_PaluxyRiver,
  variables = c("Sinuosity")
)
result8$clust$classification


[Package QuAnTeTrack version 0.1.0 Index]