Data for: Monitoring the effects of ovariectomy on seasonal movement behavior in suburban female white-tailed deer using Internet of Things-enabled devices
Data files
Sep 22, 2025 version files 6.92 MB
-
DeNicola-2025-south-euclid-deer.zip
6.91 MB
-
README.md
11.69 KB
Abstract
Abundant deer populations often cause conflicts in suburban communities, but traditional population reduction methods, such as controlled hunting, can be challenging to implement in these contexts. Fertility control, specifically through ovariectomy, can limit reproduction and reduce populations in certain settings, yet its effects on movement behavior remain poorly understood. Concerns persist that hormonal changes affecting movement could lead to increased physiological demands and influence deer-vehicle collision (DVC) risks. We evaluated the effects of ovariectomy-induced anestrus on the seasonal movement behavior in female white-tailed deer (Odocoileus virginianus) using Internet of Things (IoT) biologging devices connected via a low-power wide-area network (LPWAN). From 17 January 2023 to 1 June 2024, we collected telemetry data from ovariectomized (treated) and untreated (control) female deer in South Euclid, Ohio, USA, and quantified seasonal movement patterns using 7-day home-range size, daily diffusion, and daily excursivity. Both groups had overall similar home-range size, diffusion, and excursivity. Untreated females exhibited seasonal increases in home-range size, diffusion, and excursivity leading up to and during the breeding season (late July–November). During and after parturition (late May), untreated females reduced home-range size and overall mobility. Treated females did not exhibit strong seasonal behaviors; however, diffusion differed significantly between groups. These findings suggest that ovariectomy removes hormonal triggers that typically drive seasonal movement changes. We found no clear evidence that ovariectomy increased excursive behavior, nor that it led to higher DVC risk, although our sample size was limited. LPWAN-enabled IoT tracking proved to be a low-cost, low-power, lightweight method for wildlife monitoring, compared to Global Positioning System biologgers, but data frequency was irregular at times. Our findings suggest ovariectomy is a safe management tool for abundant deer populations. However, we recommend further research to build on our findings and highlight both the potential and limitations of IoT-based biologging for wildlife research.
The data and code found here were used for the analyses in:
DeNicola, V., Mezzini, S., Cagnacci, F. Monitoring the Effects of Ovariectomy on Seasonal Movement Behavior in Suburban Female White-Tailed Deer Using Internet of Things Enabled Devices. Wildlife Biology. https://doi.org/10.1002/wlb3.01512
The file DeNicola-2025-south-euclid-deer.zip contains:
- A
datafolder with the original (uncleaned) deer telemetry data (Odocoileus virginianus DeNicola South Euclid.csv), the telemetry metadata (Odocoileus virginianus DeNicola South Euclid-reference-data.csv), the cleaned telemetry data (cleaned-telemetry-data.rds), and the number of daily fixes for each deer (daily-fixes.rds). - All
Rcode used for the analyses in theanalysisfolder, except for custom functions, which are in thefunctionsfolder.
Description of the data and file structure
All missing values in the two csv files are indicated as NA.
Odocoileus virginianus DeNicola South Euclid.csv
This file contains the telemetry data before data cleaning. Also see the metadata dataset and the cleaned telemetry data below. It contains the following columns:
event-id: numeric; the fix ID (each value is unique).visible: logical; all values areTRUE.timestamp: character; date and time of the fixes with formatyyyy-mm-ddTHH:MM:SS.000000Z.location-long: numeric; longitude of the fix, rounded to two decimals as per Dryad's requirements.location-lat: numeric; latitude of the fix, rounded to two decimals as per Dryad's requirements.behavioural-classification: character; behavioral classification as one ofSTOP,START,ON_THE_MOVE,PERIODIC, orNA.geolocator-fix-type: character; indicates whether the geolocator fix was obtained with GPS (GPS) or WiFi positioning (wifi); isNAif the fix issensolus(seesensolus:fix-typebelow).gps:dop: numeric; dilution of precision.gps:hdop: numeric; horizontal dilution of precision.gps-time-to-fix: numeric; number of seconds to GPS fix.sensolus:fix-type: character; indicates whether the Sensolus fix was obtained with GPS (GPS), WiFi positioning (wifi), or the Sigfox network (network); isNAif the fix is with ageolocator(seegeolocator-fix-typeabove).sensor-type: character; indicates sensor type (alwaysgps).individual-taxon-canonical-name: character; species name (alwaysOdocoileus virginianus).tag-local-identifier: character; animal tag identifier (seeindividual-local-identifierbelow for animal ID).individual-local-identifier: character; animal ID identifier withCindicating control deer andTindicating treated (ovariectomized) deer (seetag-local-identifierabove for tag ID).study-name: character; all values areOdocoileus virginianus DeNicola South Euclid.
Odocoileus virginianus DeNicola South Euclid-reference-data.csv
This file contains the metadata related to the telemetry data detailed above. It contains the following columns:
tag-id: character; tag IDs containing all values from the telemetry data, plus tagYZX346for deer C_103, which had no telemetry data.animal-id: character; animal ID identifier withCindicating control deer andTindicating treated deer (seetag-idabove for tag ID).animal-taxon: character; species (all values areOdocoileus virginianus).deploy-on-date: date; dates on which collars were deployed.deploy-off-date: date; dates on which collars were removed, if available (NAotherwise).animal-comments: character; only non-NAvalue isLost collar - out of areafor deer C_103.animal-death-comments: character; only non-NAvalue3/20/23\r\nMortality 5/30/23for deer T_169.animal-mortality-date: date; mortality date if available.animal-sex: character; all valuesfto indicate female deer.deployment-comments: character; only non-NAvalue isPhoto of doe without collar from 2/2023for deer C_103.tag-manufacturer-name: character; tag manufacturer (all values areSigfox).tag-serial-no: character; all values areNAexcept forLGFZWH(same astag-id) for deer C_101.
cleaned-telemetry-data.rds
This RDS file contains the cleaned telemetry data as created by the analysis/01-telemetry-data-cleaning.R script. Deer C_101 was removed from the telemetry data because she only had 16 fixes. Deer C_103 did not have any fixes. The dataset includes the following columns:
tag_local_identifier: character; tag ID corresponding totag-local-identifierin the original telemetry dataset.animal: character; animal ID corresponding toindividual-local-identifierin the original telemetry dataset.group: character; eitherControlfor the control group orOvariectomyfor the treatment (ovariectomized) group corresponding toCandTin the animal ID.tel: list; tibbles of the telemetry data for each animal after removing problematic fixes through data cleaning.
Each tibble in the tel column contains the following columns:
event_id: numeric; the fix ID (each value is unique).visible: logical; all values areTRUE.timestamp: datetime; date and time of the fixes.long: numeric; longitude of the fix, rounded to two decimals as per Dryad's requirements.lat: numeric; latitude of the fix, rounded to two decimals as per Dryad's requirements.behavioural_classification: character; behavioral classification as one ofSTOP,START,ON_THE_MOVE,PERIODIC, orNA.geolocator_fix_type: character; indicates whether the geolocator fix was obtained with GPS (GPS) or WiFi positioning (wifi); isNAif the fix issensolus(seesensolus:fix-typebelow).hdop: numeric; horizontal dilution of precision.gps_time_to_fix: numeric; number of seconds to GPS fix.fix_type: character; indicates whether the Sensolus fix was obtained with GPS (GPS), WiFi positioning (wifi), or the Sigfox network (network); isNAif the fix is with ageolocator(seegeolocator-fix-typeabove).sensor_type: character; indicates sensor type (alwaysgps).species: character; species name (alwaysOdocoileus virginianus).individual_local_identifier: character; animal ID identifier withCindicating control deer andTindicating treated (ovariectomized) deer (seetag-local-identifierabove for tag ID).study_name: character; all values areOdocoileus virginianus DeNicola South Euclid.outlier: numeric; either0(to keep) or1(to remove before model fitting).
daily-fixes.rds
This RDS file contains the number of fixes for each deer on each day between the start and end of the tracking periods. It contains the following columns:
group: factor; eitherControlfor the control group orOvariectomyfor the treatment (ovariectomized) group corresponding toCandTin the animal ID.animal: character; character; animal ID corresponding toindividual-local-identifierin the original telemetry dataset.deploy-on-date: date; dates on which the collar was deployed.date: date; date of reference.daily_fixes: numeric; number of fixes on the date of reference (date).doy: numeric; day of year of the date of reference (between 1 and 366).doy_cr: numeric; same asdoyabove, used for non-cyclical cubic regression splines in the hierarchical generalized additive model (seeanalysis/03-fixes-per-day-hgam.R).animal_year: factor; the animal ID (animal) along with the year (starting in September) to account for differences across years (2023 and 2024).
Sharing/Access information
The data and code, along with all related figures and models, are also available on GitHub at https://github.com/StefanoMezzini/south-euclid-deer-ovariectomy.
Code/Software
All analyses were run in R 4.4.0 along with the creation of all figures. The code used is available in the analysis folder, with the exception of custom functions, which are in the functions folder.
The analysis folder includes the following files:
00-data-overview.R: gives an overview of the two csv files and performs some data exploration; creates figure S2.01-telemetry-data-cleaning.R: cleans the telemetry data and saves the output asdata/cleaned-telemetry-data.rds.02-fit-movement-models.R: fits thectmmmovement models and AKDEs; creates figure 3.03-fixes-per-day-hgam.R: fits a hierarchical generalized additive model that estimates the difference in the number of daily fixes across groups.04-hgams-without-T_169.R: fits hierarchical generalized additive models for the movement behavior of the deer, excluding deer T_169.04-hgams.R: fits hierarchical generalized additive models for the movement behavior of the deer, including deer T_169; creates figures S4 and S5.figures/akde-contours-excursivity.R: creates figure 2.figures/check-data-gaps.R: checks gaps in data; creates figure S1 and a figure of T_169's excursions.figures/default-ggplot-theme.R: creates the default ggplot theme used for the figures.figures/hgam-figures.R: creates figures 4 and S3.figures/hgams-with-and-without-T_169.R: compares the models with and without deer T_169 and creates figures S6 and S7.figures/study-site-map.R: creates figure 1.README.md: a simple README for the folder.
The files in the analysis folder are to be run sequentially following the file name order, while the files in the analysis/figures folder are to be run after scripts 00 to 04. The two 04 scripts can be run in either order.
Movement models were fit using ctmm v. 1.2.0, while generalized additive models were fit using mgcv v. 1.9-1.
The functions contain all custom functions used in this project, namely:
check_animal.R: creates a telemetry for animalidand callsoutlier_plots()(see below)find_angle.R: given two vectors of coordinatesxandy, finds the turning angle between each group of three temporally consecutive pointsflag_outlier.R: flags one or more points as outliers based on maximum allowed speed (max_speed), maximum allowed median displacement (max_distance), maximum allowed angle (max_angle) = 0, and maximum allowed sampling interval (max_dt). Outliers are indicated by avalue> 0.get_cis.R: given modelm, extracts estimated relative differences between the treatment and control groups, along with 95% confidence intervals and P-values.get_legend.R: a modified version ofcowplot::get_legend()to extract legends fromggplotplot objects.get_preds.R: predicts from the model for a given parameter (parameter) among home range size (hr), diffusion (diff), excursivity (exc), and daily fixes (fixes).outlier_plots.R: creates the diagnostic plots used to clean the telemetry data.plot_adj.R: plotsn_adjbefore and after fixes flagged based on minimum or maximum: speed, distance from median location (distance), angle, and sampling interval (dt).remove_outlier_flags.R: removes all outlier flags by changing all values of theoutlierback to0.window_ctmm.R: fits movementctmmmovement models to telemetry.telusing a moving window approach with a windowwindowdays and a slide ofdtdays.
