MyNixOS website logo
Description

Exploring Animal Movement Data.

Streamlines common steps for working with animal tracking data, from raw telemetry points to summaries, interactive maps, and home range estimates. Designed to be beginner-friendly, it enables rapid exploration of spatial and movement data with minimal wrangling, providing a unified workflow for importing, summarizing, and visualizing, and analyzing animal movement datasets.

ezTrack

R-CMD-check

ezTrack is a lightweight R package for exploring animal tracking data. It offers a gentle, beginner-friendly workflow to go from raw telemetry data to clean summaries, interactive maps, and home range estimates with minimal data wrangling.

View the vignette


Installation

# Install development version from GitHub
# install.packages("devtools")
devtools::install_github("taylorbcraft/ezTrack")

Key functions

ez_track() - Clean & standardize tracking data

tracking_data <- ez_track("my_tracking_file.csv")
  • Auto-detects columns for id, timestamp, x, and y
  • Supports CSV, Excel, shapefiles (.shp), and GeoPackages (.gpkg) files
  • Also accepts data.frame, sf, Spatial*, and move objects
  • Removes rows with missing or duplicate (id, timestamp) combinations
  • Returns a clean data frame or (optionally) a sf object projected to WGS84
  • Supports time-based subsampling (e.g., "1 per hour", "2 per day")

ez_summary() - Quick data summary

ez_summary(tracking_data)
  • Per-ID stats: duration, fixes/day, distance, speed
  • Filters by date range
  • Optional HTML report: ez_summary(tracking_data, report = TRUE)

ez_fix_rate_plot() - Plot location fix rate

ez_fix_rate_plot(tracking_data)
  • Displays each animal’s location fixes as tick marks over time
  • Helps visualize tracking effort, data gaps, and fix frequency
  • Supports date filtering and x-axis formatting options

ez_home_range() - Estimate home ranges

ranges <- ez_home_range(tracking_data, method = "mcp", level = 95)
  • Supports MCP and KDE methods
  • Returns sf polygon(s)
  • Estimate per animal or overall population

ez_map() - Plot tracks on interactive Leaflet maps

ez_map(tracking_data)
  • Visualize tracks, points, and home ranges
  • Customize colors, radius, opacity, and labels
  • Toggle between satellite and light basemaps

ez_latitude_plot() - Plot latitude over time

ez_latitude_plot(tracking_data)
  • Creates a time series plot of latitude (y-axis) over timestamp (x-axis)
  • Optionally facets the plot by animal and allows customization of x-axis date format and break spacing

Example Workflow

library(ezTrack)

# Step 1: Import
data(godwit_tracks)

# Step 2: Standardize
trk <- ez_track(godwit_tracks)

# Step 3: Summarize
ez_summary(trk)

# Step 4: Check fix rates
ez_fix_rate_plot(trk)

# Step 5: Compute home ranges
hr <- ez_home_range(trk)

# Step 6: Map tracks and home ranges
ez_map(trk, home_ranges = hr)

# Step 7: Latitude plot
ez_latitude_plot(trk)

Dependencies

  • sf, leaflet, geosphere, adehabitatHR: spatial operations, mapping, and home range analysis
  • readxl: Excel import support
  • knitr, kableExtra, htmltools: HTML reporting
  • ggplot2, viridisLite: plotting with color palettes
  • magrittr: for %>% pipe in mapping function

Install missing packages using:

install.packages(c(
  "sf", "leaflet", "geosphere", "adehabitatHR", "readxl",
  "knitr", "kableExtra", "htmltools", "ggplot2", "viridisLite", "magrittr", "dplyr"
))

License

MIT License © 2025 Taylor Craft


Contributing / Issues

Feel free to open an issue or submit a pull request. Suggestions welcome!

Metadata

Version

0.1.0

License

Unknown

Platforms (76)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows