Title: Educational Datasets for Ecology and Agriculture
Version: 0.1.0
Description: A collection of curated educational datasets for teaching ecology and agriculture concepts. Includes data on wildlife monitoring, plant treatments, and ecological observations with documentation and examples for educational use. All datasets are derived from published scientific studies and are available under CC0 or compatible licenses.
License: MIT + file LICENSE
Encoding: UTF-8
RoxygenNote: 7.3.2
Suggests: dplyr, ggplot2, knitr, rmarkdown, testthat (≥ 3.0.0)
Config/testthat/edition: 3
Depends: R (≥ 3.5)
LazyData: true
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2025-06-25 14:29:39 UTC; weh90
Author: W. Edwin Harris [aut, cre, cph]
Maintainer: W. Edwin Harris <weh9000@gmail.com>
Repository: CRAN
Date/Publication: 2025-06-29 10:20:02 UTC

ecoteach: Educational Datasets for Ecology and Agriculture

Description

A collection of curated educational datasets for teaching ecology and agriculture concepts. The package provides clean, well-documented datasets that can be used for teaching data analysis, statistics, and ecological concepts in classroom settings. Each dataset includes comprehensive documentation and examples of potential analyses.

Details

The package includes the following datasets:

All datasets are provided in tidy format, with factors appropriately coded, and include proper citation information. The package aims to make it easy for instructors to incorporate real ecological data into their teaching.

Data Sources

All datasets are derived from published scientific studies and are available under CC0 or compatible licenses. Full citations and DOIs are provided in the documentation for each dataset.

Author(s)

Maintainer: W. Edwin Harris weh9000@gmail.com [copyright holder]

References

Adriaens, T., Verschelde, P., Cartuyvels, E., D'hondt, B., Vercruysse, E., van Gompel, W., Dewulf, E., & Provoost, S. (2019). A preliminary field trial to compare control techniques for invasive Berberis aquifolium in Belgian coastal dunes. doi:10.5281/zenodo.3351504

Rebstock, G. A., Boersma, P. D., & García-Borboroglu, P. (2022). Magellanic penguin nest counts and reproductive success at Punta Tombo, Argentina, 1982-2021. doi:10.5061/DRYAD.8931ZCRSV

Baino, A., Hopcraft, G., Kendall, C., Munishi, L., Behdenna, A., & Newton, J. (2021). We are what we eat, plus some per mill: Using stable isotopes to estimate diet composition of African vultures. doi:10.5061/dryad.1ns1rn8qf

Crunchant, A-S., Borchers, D., Kuehl, H., & Piel, A. K. (2020). Listening and watching: do camera traps or acoustic sensors more efficiently detect wild chimpanzees in an open habitat? doi:10.5061/dryad.5dv41ns34

Kalberer, S., Meise, K., Trillmich, F., & Krüger, O. (2018). Reproductive performance of a tropical apex predator in an unpredictable habitat. doi:10.5061/DRYAD.6S48579

Morosse, O., Tsunekage, T., Kenny-Duddela, H., Schield, D., Keller, K., Safran, R., & Levin, I. (2025). North American barn swallows pair, mate, and interact assortatively. doi:10.5061/DRYAD.1G1JWSV8G

Subba, A., Tamang, G., Lama, S., Basnet, N., Kyes, R. C., & Khanal, L. (2024). Habitat occupancy of the critically endangered Chinese pangolin (Manis pentadactyla) under human disturbance in an urban environment: Implications for conservation. doi:10.5061/DRYAD.73N5TB34T

Peacock, J., Waugh, D., Bajpai, S., & Thewissen, J. G. M. (2025). The evolution of hearing and brain size in Eocene whales. doi:10.5061/DRYAD.SF7M0CGH1

Hahn, N. (2021). Elephant agricultural use metrics in Mara-Serengeti ecosystem. doi:10.5061/DRYAD.RN8PK0PBN

Nöbel, S., & Kaufmann, T. (2025). Data from: Mate copying in Drosophila simulans. doi:10.5061/DRYAD.ZS7H44JMC

Schwegmann, S. (2023). Use of viscera from hunted roe deer by vertebrate scavengers in summer in central European mountainous mixed forest. doi:10.5061/DRYAD.Q573N5TPP

Gomo, G., Rød-Eriksen, L., Andreassen, H. P., Mattisson, J., Odden, M., Devineau, O., & Eide, N. E. (2020). Scavenger community structure along an environmental gradient from boreal forest to alpine tundra in Scandinavia. doi:10.1002/ece3.6834

Barbour, K., McClune, D. W., Delahay, R. J., Speakman, J. R., McGowan, N. E., Kostka, B., Montgomery, I. W., Marks, N. J., & Scantlebury, D. M. (2019). No energetic cost of tuberculosis infection in European badgers (Meles meles). doi:10.5061/DRYAD.MN84H20

Miyamoto, K., Chen, C., & Luan, X. (2025). Seasonal activity changes in raccoon dogs and influences of environmental factors from autumn to winter. doi:10.5061/DRYAD.C866T1GJN

Bieber, C., Turbill, C., & Ruf, T. (2019). Effects of aging on timing of hibernation and reproduction. doi:10.5061/DRYAD.8004G37

Examples

# Load a dataset
data(vulture_diet)

# View the structure
str(vulture_diet)

# Basic summary
summary(vulture_diet)

# See what datasets are available
data(package = "ecoteach")


Mate Copying in Drosophila simulans

Description

A dataset containing observations of mate choice decisions of Drosophila simulans females from three different populations to test whether they copy the mate choice of their conspecifics. The study tested whether female fruit flies acquire a sexual preference for a particular trait of a male after observing a single mating event. The experimental protocol involved a naïve, unmated female first observing a conspecific's mate choice between one artificially colored green and one artificially colored pink male, and subsequently being allowed to choose between two males of the same phenotype herself.

Usage

Dsimulans_matechoice

Format

A data frame with 383 rows and 14 variables:

Experimentor

Who conducted the experiment (SN: Sabine Nöbel, TK: Tim Kaufmann)

Date

Date of the experiment

TimeDemo

Beginning time of the experiment

Chamber

Position in the experimental box (A-F)

Device

Number of the experimental set-up

Strain

Fly population: Haale (Saale), Maison Salasar, or Deyme

Treatment

Experimental treatment: Mate copying (informed) or Control (uninformed)

Temp

Temperature (°C) in the experimental room

Humidity

Humidity (%) in the experimental room

ColourDemo

Color of the male copulating in the demonstration: Green or Pink

Colour1Court

Color of the male that started the first courtship: Green or Pink

Colour2Court

Color of the male that started the second courtship: Green or Pink

ColourTest

Color of the male copulating in the test phase: Green or Pink

MCS

Mate-copying score: "Same color" (observer female chose the same colored male as the demonstrator) or "Different color" (observer female chose a different colored male than the demonstrator)

Source

Nöbel, Sabine and Kaufmann, Tim (2025). Data from: Mate copying in Drosophila simulans. Dryad Digital Repository. doi:10.5061/DRYAD.ZS7H44JMC

Examples


# Load the dataset
data(Dsimulans_matechoice)

# Basic exploration
head(Dsimulans_matechoice)
summary(Dsimulans_matechoice)

# Examine mate copying rates by treatment
table(Dsimulans_matechoice$Treatment, Dsimulans_matechoice$MCS)

# Compare mate copying across different strains (using base R)
mosaicplot(table(Dsimulans_matechoice$Strain, Dsimulans_matechoice$MCS),
           main = "Mate choice outcomes by strain",
           color = c("lightblue", "salmon"))
           
# Analyze if environmental conditions affect mate copying
boxplot(Temp ~ MCS, data = Dsimulans_matechoice, 
        main = "Temperature effects on mate copying",
        ylab = "Temperature (°C)")


European badger energy expenditure and tuberculosis infection data

Description

This dataset contains measurements of daily energy expenditure (DEE) and related variables for European badgers (Meles meles) in relation to their tuberculosis (TB) infection status. The data were collected to examine how disease status and other factors like season, group size, sex, age, and body mass affect energy balance in wild badgers. Some individuals were measured multiple times across different seasons.

Usage

badger_energy

Format

A data frame with 56 rows and 7 variables:

ID

Unique identifier for each badger

age

Age class of the badger: "cub" or "adult"

sex

Sex of the badger: "F" (female) or "M" (male)

group_size

Number of badgers in the social group

body_mass

Body mass in kilograms (kg)

daily_energy

Daily energy expenditure (DEE) in kilojoules per day (kJ/day)

season

Season when measurements were taken: "Winter", "Spring", "Summer", or "Autumn"

disease

Tuberculosis infection status: "Negative", "Diseased", or "Exposed"

Source

Barbour, Katie and McClune, David W. and Delahay, Richard J. and Speakman, John R. and McGowan, Natasha E. and Kostka, Berit and Montgomery, Ian W. and Marks, Nikki J. and Scantlebury, David M. (2019). Data from: No energetic cost of tuberculosis infection in European badgers (Meles meles). Dryad Digital Repository. doi:10.5061/DRYAD.MN84H20

Examples


# Load the dataset
data(badger_energy)

# Basic exploration
head(badger_energy)
summary(badger_energy)

# Compare energy expenditure by disease status
boxplot(daily_energy ~ disease, data = badger_energy, 
        main = "Daily Energy Expenditure by TB Status",
        ylab = "DEE (kJ/day)", xlab = "TB Status")
        
# Examine relationship between body mass and energy expenditure
plot(daily_energy ~ body_mass, data = badger_energy,
     col = as.numeric(disease), pch = 16,
     main = "Energy Expenditure vs Body Mass",
     xlab = "Body Mass (kg)", ylab = "DEE (kJ/day)")
legend("topright", levels(badger_energy$disease), 
       col = 1:3, pch = 16)


Barn Swallow Plumage Brightness and Mate Selection

Description

This dataset contains information on plumage brightness measurements for North American barn swallows (Hirundo rustica erythrogaster) and their mating patterns. The data includes measurements of belly and breast brightness for social pairs and extra-pair mates. This dataset was used to study assortative mating patterns in barn swallows, investigating how plumage coloration affects mate selection both within social pairs and through extra-pair fertilizations.

Usage

barnswallow_brightness

Format

A data frame with 19 rows and 7 variables:

MaleID

Band ID for the focal male

PairID

Band ID for the female social mate

EPID

Band ID for the extra-pair mate

PairB_bright

Belly brightness for the social male (unitless measurement of reflectance)

PairR_bright

Breast brightness for the social male (unitless measurement of reflectance)

EPB_bright

Belly brightness for the extra-pair male (unitless measurement of reflectance)

EPR_bright

Breast brightness for the extra-pair male (unitless measurement of reflectance)

Source

Morosse, Omar, Tsunekage, Toshi, Kenny-Duddela, Heather, Schield, Drew, Keller, Kayleigh, Safran, Rebecca, & Levin, Iris (2025). North American barn swallows pair, mate, and interact assortatively. Dryad Digital Repository. doi:10.5061/DRYAD.1G1JWSV8G

Examples


# Load the dataset
data(barnswallow_brightness)

# Basic exploration
head(barnswallow_brightness)
summary(barnswallow_brightness)

# Compare brightness between social and extra-pair males
boxplot(barnswallow_brightness$PairB_bright, barnswallow_brightness$EPB_bright,
        names = c("Social Male", "Extra-pair Male"),
        main = "Comparison of Belly Brightness",
        ylab = "Brightness")
        
# Correlation between social and extra-pair male brightness
plot(barnswallow_brightness$PairB_bright, barnswallow_brightness$EPB_bright,
     main = "Correlation between Social and Extra-pair Male Brightness",
     xlab = "Social Male Belly Brightness",
     ylab = "Extra-pair Male Belly Brightness")
abline(lm(EPB_bright ~ PairB_bright, data = barnswallow_brightness), col = "red")


Berberis aquifolium Invasive Species Management Treatment Data

Description

Experimental data from a management treatment study of invasive Berberis aquifolium (Oregon grape) plants conducted across four heavily infested dune sites in Belgium. The study evaluated the effectiveness of different management treatments on individual plants, with regrowth assessments conducted at 6 months and 1 year post-treatment.

Usage

berberis_treatment

Format

A data frame with 127 rows and 14 variables:

plant_id

Character, unique identifier for each B. aquifolium plant/clone

region

Factor, field code identifying the dune site location

date

Date, when the plant was initially located and treated (April/May 2013)

treatment

Factor, management treatment applied:

  • Manual digging - Uprooting by digging with shovels

  • Leaf spray (glyphosate) - 5\

  • Stem cut + glyphosate - Cut and paint with 5\

  • Stem cut + salt - Cut and treat with saturated NaCl solution

height

Integer, plant height in centimeters

diameter

Integer, clone diameter in centimeters

n_stems

Integer, number of stems per individual plant/clone

date_regrowth

Date, date of regrowth assessment

regrowth

Ordered factor, stem regrowth response (Dead < Limited < Vital)

x_proj

Numeric, X-coordinate of plant location (GPS projection)

y_proj

Numeric, Y-coordinate of plant location (GPS projection)

days_to_assessment

Numeric, days between treatment and assessment

treatment_success

Factor, binary outcome (Success/Failure)

volume_approx

Numeric, approximate plant volume

Source

Adriaens, T., Verschelde, P., Cartuyvels, E., D'hondt, B., Vercruysse, E., Gompel, W.V., Dewulf, E., & Provoost, S. (2019). Data from: A preliminary field trial to compare control techniques for invasive Berberis aquifolium in Belgian coastal dunes. Dryad Digital Repository. doi:10.5061/DRYAD.ZKH189361

Examples


# Load the dataset
data(berberis_treatment)

# Treatment effectiveness summary
table(berberis_treatment$treatment, berberis_treatment$regrowth)

# Visualize treatment effectiveness
barplot(table(berberis_treatment$treatment, berberis_treatment$regrowth),
        beside = TRUE, legend = TRUE,
        main = "Treatment Effectiveness for Invasive Berberis")


Vertebrate scavenger visits to roe deer carrion

Description

This dataset contains observations of vertebrate scavenger activity at roe deer evisceration residues (carrion) in a central European mountainous mixed forest. The data was collected from 47 roe deer viscera samples from hunted deer that were exposed to vertebrate scavenging in front of camera traps between May and October 2022. The dataset records visits, feeding, and removal events by various vertebrate scavengers, with events considered independent if more than 20 minutes passed between consecutive pictures. Samples were observed for a maximum of 16 days. The data provides insights into the composition of vertebrate scavenging fauna using evisceration residues, which species remove entire samples, and how long viscera remain available to invertebrate scavengers.

Usage

carrion_arrivals

Format

A data frame with 599 rows and 7 variables:

Samples

Sample site identifier (factor)

Dates Setup

Date when camera and sample were set up (Date)

Date Event

Date when the scavenging event was recorded (Date)

Time

Time when the scavenging event was recorded (hms)

Species

Species of scavenger observed (factor)

Behaviour

Type of behavior observed: Visit, Feeding, or Removal (factor)

Days2

Time elapsed in days between sample exposure and detected event (numeric)

Source

Schwegmann, Sebastian (2023). Data for: Use of viscera from hunted roe deer by vertebrate scavengers in summer in central European mountainous mixed forest. Dryad Digital Repository. doi:10.5061/DRYAD.Q573N5TPP

Examples


# Load the dataset
data(carrion_arrivals)

# Basic exploration
head(carrion_arrivals)
summary(carrion_arrivals)

# Count observations by species
table(carrion_arrivals$Species)

# Compare behaviors by species
table(carrion_arrivals$Species, carrion_arrivals$Behaviour)

# Calculate average days until first scavenger arrival by species
library(dplyr)
carrion_arrivals %>%
  group_by(Species) %>%
  summarize(mean_days = mean(Days2, na.rm = TRUE)) %>%
  arrange(mean_days)

# Visualize scavenger activity over time
if (require(ggplot2)) {
  ggplot(carrion_arrivals, aes(x = Days2, fill = Species)) +
    geom_histogram(binwidth = 1, position = "stack") +
    labs(title = "Scavenger activity over time",
         x = "Days since carrion placement",
         y = "Number of observations")
}


Chimpanzee Camera Trap Detection Data

Description

This dataset contains presence/absence data for wild chimpanzees (Pan troglodytes) detected by camera traps in the Issa Valley, Tanzania. The data was collected as part of a study comparing the efficiency of camera traps versus passive acoustic monitoring for detecting chimpanzees in a savanna-woodland mosaic habitat.

Usage

chimpanzee_cameras

Format

A data frame with observations across multiple cameras and dates:

Camera

Camera trap identifier (factor)

Latitude

Latitude coordinates of the camera trap location (numeric)

Longitude

Longitude coordinates of the camera trap location (numeric)

Method

Camera placement method: 'systematic' or 'targeted' (factor)

Vegetation

Vegetation type at camera location: 'open' or 'closed' (factor)

Topography

Landscape feature at camera location: 'valley', 'slope', or 'plateau' (factor)

date

Date of observation (Date)

detection

Chimpanzee detection status: 'absent' or 'present' (factor)

Details

The dataset is in long format, with each row representing a camera trap observation for a specific date. Detection values are coded as 'present' (at least one detection during the day) or 'absent' (no detection). NA values indicate days when no survey was conducted (e.g., due to camera malfunction or not being deployed).

Source

Crunchant, Anne-Sophie and Borchers, David and Kuehl, Hjalmar and Piel, Alex K. (2020). Listening and watching: do camera traps or acoustic sensors more efficiently detect wild chimpanzees in an open habitat?. Dryad Digital Repository. doi:10.5061/DRYAD.5DV41NS34

Examples

# Load the dataset
data(chimpanzee_cameras)

# Basic exploration
head(chimpanzee_cameras)
summary(chimpanzee_cameras)


# Count detections by camera (requires dplyr)
if (requireNamespace("dplyr", quietly = TRUE)) {
  library(dplyr)
  chimpanzee_cameras %>%
    group_by(Camera) %>%
    summarize(
      total_observations = n(),
      detections = sum(detection == "present", na.rm = TRUE),
      detection_rate = mean(detection == "present", na.rm = TRUE)
    )
}

# Visualize detection patterns over time (requires ggplot2)
if (requireNamespace("ggplot2", quietly = TRUE)) {
  library(ggplot2)
  ggplot(chimpanzee_cameras, aes(x = date, y = Camera, fill = detection)) +
    geom_tile() +
    scale_fill_manual(values = c("absent" = "lightblue", "present" = "darkred"),
                      na.value = "gray90") +
    theme_minimal() +
    labs(title = "Chimpanzee detections by camera over time",
         x = "Date", y = "Camera")
}


Dormouse Hibernation and Reproduction Dataset

Description

This dataset contains hibernation and reproductive data for edible dormice (Glis glis). The data tracks hibernation patterns, body mass changes, and reproductive activity across multiple years and individuals. The study examines how age affects hibernation timing and reproductive behavior in these small hibernating mammals.

Usage

dormouse_hibernation

Format

A data frame with 290 rows and 16 variables:

animal_id

Unique identifier for each dormouse

year_birth

Year of birth for the animal

age

Age of the animal in years

log_age

Logarithm of age

body_mass_before

Body mass before hibernation (g)

body_mass_after

Body mass after hibernation (g)

hibernation_duration

Duration of hibernation in days

hibernation_start

Date when hibernation started (DD.MM.YY format)

hibernation_end

Date when hibernation ended (DD.MM.YY format)

hibernation_end_year_before

End date of previous year's hibernation

body_mass_spring

Body mass in spring (g)

year

Year of observation

sex

Sex of the animal (male or female)

diet

Diet type (medium, high fat, or protein)

age_death

Age at death in years

repro_active

Whether the animal was reproductively active (yes or no)

Details

The research shows that age strongly affects hibernation/activity patterns through two pathways: (1) with increasing age, dormice are more likely to reproduce, which delays hibernation onset, and (2) age directly advances emergence from hibernation in spring. This suggests hibernation is not merely an energy-saving strategy but an age-affected life-history trait used to maximize fitness.

Source

Bieber, Claudia and Turbill, Christopher and Ruf, Thomas (2019). Data from: Effects of aging on timing of hibernation and reproduction. Dryad Digital Repository. doi:10.5061/DRYAD.8004G37

Examples


# Load the dataset
data(dormouse_hibernation)

# Basic exploration
head(dormouse_hibernation)
summary(dormouse_hibernation)

# Examine hibernation duration by age
boxplot(hibernation_duration ~ age, data = dormouse_hibernation, 
        main = "Hibernation Duration by Age",
        xlab = "Age (years)", ylab = "Duration (days)")
        
# Compare body mass change during hibernation
with(dormouse_hibernation, 
     plot(body_mass_before, body_mass_after, 
          col = as.integer(sex),
          main = "Body Mass Before vs After Hibernation",
          xlab = "Body Mass Before (g)", 
          ylab = "Body Mass After (g)"))
legend("topleft", levels(dormouse_hibernation$sex), 
       col = 1:2, pch = 1)
       
# Examine reproductive activity by age
with(subset(dormouse_hibernation, !is.na(repro_active)), 
     table(age, repro_active))


Elephant Agricultural Use Metrics in Mara-Serengeti Ecosystem

Description

A dataset containing agricultural use metrics for 66 elephants in the Mara-Serengeti ecosystem in Kenya and Tanzania. The data were collected to characterize crop use tactics by elephants and to understand how elephants interact with agricultural areas. The dataset includes metrics such as mean agricultural use, maximum use from a moving average, and the difference between mean and max use. These metrics were used to classify agricultural use tactics for each elephant using Gaussian mixture models. The dataset contains individual-year agricultural use metrics, space use, and elephant metadata, with tactic classifications for both lifetime tracks and individual years.

Usage

elephant_farmers

Format

A data frame with 202 rows and 17 variables:

subject_name

Individual elephant ID

tactic.aggregate

Tactic classification for lifetime GPS track of individual: Rare, Sporadic, Seasonal, or Habitual

season.year

Year cuts (cut date April 1 of each year)

tactic.season

Tactic classification for the associated year: Rare, Sporadic, Seasonal, or Habitual

year.begin

Data start date for a given year

year.end

Data stop date for a given year

n.fixes

Number of GPS relocations for an individual in a given year

year.mean

Mean agricultural use for a given year

year.max

Maximum agricultural use from a 90-day moving average for a given year

year.delta

Difference in mean and max agricultural use for a given year

year.mcp.area

MCP homerange for an individual in a given year

mu.daily.disp

Mean daily displacement for an individual in a given year

subject_sex

Sex of the individual (male or female)

subject_ageClass

Age class of individual (young adult or mature adult)

centroid.dist.meters

Distance from centroid of homerange to agriculture (meters)

tactic.prev

Tactic of the previous year (NA if no previous tactic could be confirmed)

tactic.change

Whether an individual changed tactics ("Changed") or stayed the same ("No change")

Source

Hahn, Nathan (2021). Elephant agricultural use metrics in Mara-Serengeti ecosystem. Dryad Digital Repository. doi:10.5061/DRYAD.RN8PK0PBN

Examples


# Load the dataset
data(elephant_farmers)

# Basic exploration
head(elephant_farmers)
summary(elephant_farmers)

# Examine distribution of tactics by sex
table(elephant_farmers$subject_sex, elephant_farmers$tactic.season)

# Compare agricultural use metrics across tactics
boxplot(year.mean ~ tactic.season, data = elephant_farmers, 
        main = "Mean Agricultural Use by Tactic",
        ylab = "Mean Agricultural Use")
        
# Examine tactic changes over time
# Count how many elephants changed tactics vs stayed the same
table(elephant_farmers$tactic.change, useNA = "ifany")

# Look at relationship between distance to agriculture and tactic
boxplot(centroid.dist.meters ~ tactic.season, data = elephant_farmers,
        main = "Distance to Agriculture by Tactic",
        ylab = "Distance (meters)")


Galapagos Sea Lion Reproduction Data

Description

This dataset contains reproductive performance data for female Galapagos sea lions (Zalophus wollebaeki) collected over a 13-year period in the Galapagos archipelago. The data includes information on mother birth dates, body mass, age at first reproduction, and offspring details. This dataset was used to study life history traits and reproductive trade-offs of this tropical apex predator in an unpredictable habitat.

Usage

lion_reproduction

Format

A data frame with 48 rows and 12 variables:

MotherID

Unique identifier for the mother sea lion

MotherBD

Mother's birth date

exact

Whether the birth date is exact ("Yes"), estimated ("No"), or unknown ("Unknown")

MotherBirthyear

Year the mother was born

AgeAtCapture

Age of the mother when first captured (in days)

AverageOneYearBodymass

Average body mass of the mother at one year of age (in kg)

PupID

Unique identifier for the pup

FirstPupBorn

Date when the first pup was born

OffspringSex

Sex of the offspring ("Male" or "Female")

SeenSince

Year the mother was first observed

SeenUntil

Year the mother was last observed

AFR

Age at first reproduction (in years)

Source

Kalberer, Stephanie, Meise, Kristine, Trillmich, Fritz, & Krüger, Oliver (2018). Reproductive performance of a tropical apex predator in an unpredictable habitat. Dryad Digital Repository. doi:10.5061/DRYAD.6S48579

Examples


# Load the dataset
data(lion_reproduction)

# Basic exploration
head(lion_reproduction)
summary(lion_reproduction)

# Calculate mean age at first reproduction
mean(lion_reproduction$AFR)

# Compare age at first reproduction by offspring sex
boxplot(AFR ~ OffspringSex, data = lion_reproduction,
        main = "Age at First Reproduction by Offspring Sex",
        ylab = "Age (years)")
        
# Relationship between mother's body mass and age at first reproduction
plot(AverageOneYearBodymass ~ AFR, data = lion_reproduction,
     main = "Body Mass vs. Age at First Reproduction",
     xlab = "Age at First Reproduction (years)",
     ylab = "Average Body Mass at One Year (kg)")


Magellanic Penguin Foraging and Reproductive Data

Description

Data from satellite tracking of Magellanic penguins (Spheniscus magellanicus) at Punta Tombo, Argentina, spanning 23 breeding seasons. The dataset contains information on foraging site fidelity, trip characteristics, and reproductive success for individual penguins.

Usage

magellanic_penguins

Format

A data frame with 212 rows and 21 variables:

SeasonYear

Integer, breeding season year

PenguinID

Integer, unique identifier for each penguin

PenguinSeq

Integer, sequential penguin number within season

InstrumentSeq

Integer, instrument deployment sequence

NTripPairsLong

Integer, number of long trip pairs

DistBetMean

Numeric, mean distance between foraging sites (km)

DistBetSD

Numeric, standard deviation of distance between sites (km)

DistBetMin

Numeric, minimum distance between foraging sites (km)

DistBetMax

Numeric, maximum distance between foraging sites (km)

InstrType

Factor, type of tracking instrument used

InstrModel

Character, model of tracking instrument

NFledged

Integer, number of chicks that fledged successfully

DurDaysMean

Numeric, mean trip duration in days

TripDistMean

Numeric, mean trip distance (km)

BearingMean

Numeric, mean bearing of foraging trips (degrees)

PenguinSex

Factor, sex of penguin ("Male", "Female")

NumTrips

Integer, total number of foraging trips

NumChicksDeploy

Integer, number of chicks at deployment

NumChicksStarved

Integer, number of chicks that starved

DeployDurDays

Integer, deployment duration in days

ChlaMean

Numeric, mean chlorophyll-a concentration

Source

Rebstock, G., Abrahms, B., & Boersma, D. (2022). Data from: Site fidelity increases reproductive success by increasing foraging efficiency in a marine predator. Dryad Digital Repository. doi:10.5061/DRYAD.8931ZCRSV

References

Rebstock, G.A., Abrahms, B. & Boersma, P.D. (2022). Site fidelity increases reproductive success by increasing foraging efficiency in a marine predator. Proceedings of the Royal Society B, 289(1975), 20220175.

Examples


# Load the dataset
data(magellanic_penguins)

# Basic exploration
head(magellanic_penguins)
summary(magellanic_penguins)

# Examine foraging efficiency by sex
boxplot(TripDistMean ~ PenguinSex, data = magellanic_penguins,
        main = "Mean Trip Distance by Sex",
        xlab = "Sex", ylab = "Mean Trip Distance (km)")

# Relationship between site fidelity and reproductive success
plot(magellanic_penguins$DistBetMean, magellanic_penguins$NFledged,
     xlab = "Mean Distance Between Sites (km)",
     ylab = "Number of Chicks Fledged",
     main = "Site Fidelity vs Reproductive Success")


Habitat Occupancy of the Critically Endangered Chinese Pangolin

Description

A dataset containing habitat occupancy observations of the Critically Endangered Chinese pangolin (Manis pentadactyla) in the urban landscape of Dharan Sub-metropolitan City, Nepal. The data were collected to analyze spatial distribution, habitat use patterns, and anthropogenic impacts on habitat occupancy of Chinese pangolins. The study used a single-season occupancy modeling approach, investigating factors influencing detection probability and habitat occupancy across 134 grid cells of 600m × 600m each.

Usage

pangolin_habitat

Format

A data frame with 152 rows and 18 variables:

object_id

Unique identifier for each grid cell

replicate_1

Detection (1) or non-detection (0) in first survey replicate

replicate_2

Detection (1) or non-detection (0) in second survey replicate

replicate_3

Detection (1) or non-detection (0) in third survey replicate

replicate_4

Detection (1) or non-detection (0) in fourth survey replicate

replicate_5

Detection (1) or non-detection (0) in fifth survey replicate

replicate_6

Detection (1) or non-detection (0) in sixth survey replicate

distance_to_water

Distance to nearest water body in meters

terrain_ruggedness

Terrain Ruggedness Index (TRI), a measure of topographic heterogeneity

mean_ndvi

Mean Normalized Difference Vegetation Index, a measure of vegetation density

habitat_type

Type of habitat: "Sal Forest", "Mixed Forest", "Human Settlement", or "Agricultural Land"

habitat_structure

Topographic structure: "Terrace" or "Cliff"

human_disturbance_index

Index of human disturbance, ranging from 0 (low) to 1 (high)

termite_mounds

Number of termite mounds in the grid cell

detection_sum

Total number of detections across all six replicates

detected

Binary indicator of whether pangolin was detected (1) or not (0) in any replicate

disturbance_level

Categorized human disturbance: "Low", "Medium-Low", "Medium-High", or "High"

Details

The dataset is particularly valuable for teaching concepts in wildlife conservation, occupancy modeling, and human-wildlife interactions in urban environments. It demonstrates how ecological and anthropogenic factors affect endangered species in human-dominated landscapes.

Source

Subba, Asmit and Tamang, Ganesh and Lama, Sony and Basnet, Nabin and Kyes, Randall C. and Khanal, Laxman (2024). Habitat occupancy of the critically endangered Chinese pangolin (Manis pentadactyla) under human disturbance in an urban environment: Implications for conservation. Dryad Digital Repository. doi:10.5061/DRYAD.73N5TB34T

Examples


# Load the dataset
data(pangolin_habitat)

# Basic exploration
head(pangolin_habitat)
summary(pangolin_habitat)

# Examine detection rates across habitat types
table(pangolin_habitat$habitat_type, pangolin_habitat$detected)

# Visualize the relationship between termite mounds and pangolin detection
boxplot(termite_mounds ~ detected, data = pangolin_habitat,
        main = "Termite Mounds and Pangolin Detection",
        xlab = "Pangolin Detected", ylab = "Number of Termite Mounds",
        names = c("Not Detected", "Detected"))
        
# Examine the effect of human disturbance on pangolin detection
boxplot(human_disturbance_index ~ detected, data = pangolin_habitat,
        main = "Human Disturbance and Pangolin Detection",
        xlab = "Pangolin Detected", ylab = "Human Disturbance Index",
        names = c("Not Detected", "Detected"))
        
# Visualize detection across disturbance levels
barplot(prop.table(table(pangolin_habitat$disturbance_level, 
                         pangolin_habitat$detected), 1)[,2],
        main = "Pangolin Detection Rate by Disturbance Level",
        xlab = "Disturbance Level", ylab = "Detection Rate")


Raccoon dog activity and environmental factors in China

Description

This dataset contains records of raccoon dog (Nyctereutes procyonoides) detections and other mammal species from camera traps in the Sizuolou Nature Reserve, Beijing, China, along with associated environmental variables. The data was collected from October 15, 2023, to February 29, 2024, covering both autumn and winter seasons. The study examined seasonal activity changes in raccoon dogs and their relationship to environmental and mammalian factors.

Usage

raccoondog_environment

Format

A data frame with 144 rows and 21 variables:

point_id

Camera installation point ID

asian_badger

Number of Asian badger detection events

wild_boar

Number of wild boar detection events

hog_badger

Number of hog badger detection events

leopard_cat

Number of leopard cat detection events

masked_palm_civet

Number of masked palm civet detection events

rock_squirrel

Number of Père David's rock squirrel detection events

raccoon_dog

Number of raccoon dog detection events

red_squirrel

Number of red squirrel detection events

roe_deer

Number of Siberian roe deer detection events

siberian_weasel

Number of Siberian weasel detection events

striped_squirrel

Number of Swinhoe's striped squirrel detection events

tolai_hare

Number of Tolai hare detection events

dist_impervious

Distance from camera to nearest impervious area (meters)

dist_agricultural

Distance from camera to nearest agricultural land (meters)

dist_water

Distance from camera to nearest water source (meters)

dist_roads

Distance from camera to nearest road (meters)

Altitude

Elevation of camera installation point (meters above sea level)

tpi

Topographic Position Index of the camera installation point

Day

Date of detection (days since start of study, October 15, 2023)

Season

Season at time of detection ("Autumn" or "Winter")

Vegetation

Type of vegetation at the camera installation point

Source

Miyamoto, Keisuke and Chen, Chuan and Luan, Xiaofeng (2025). Seasonal activity changes in raccoon dogs and influences of environmental factors from autumn to winter. Dryad Digital Repository. doi:10.5061/DRYAD.C866T1GJN

Examples


# Load the dataset
data(raccoondog_environment)

# Basic exploration
head(raccoondog_environment)
summary(raccoondog_environment)

# Compare raccoon dog detections by season
boxplot(raccoon_dog ~ Season, data = raccoondog_environment,
        main = "Raccoon Dog Detections by Season",
        ylab = "Number of Detections", xlab = "Season")
        
# Examine relationship between environmental factors and raccoon dog presence
# Create a binary presence variable
raccoondog_presence <- raccoondog_environment
raccoondog_presence$presence <- ifelse(raccoondog_presence$raccoon_dog > 0, 1, 0)

# Plot relationship with distance to agricultural land
plot(dist_agricultural ~ presence, data = raccoondog_presence,
     main = "Raccoon Dog Presence vs. Distance to Agricultural Land",
     xlab = "Presence (0=Absent, 1=Present)", 
     ylab = "Distance to Agricultural Land (m)")
     
# Examine vegetation types where raccoon dogs were detected
table(raccoondog_presence$Vegetation[raccoondog_presence$presence == 1])


Scavenger community structure in Scandinavian ecosystems

Description

This dataset contains observations of scavenger communities along an environmental gradient from boreal forest to alpine tundra in central Scandinavia. The data was collected using baited camera traps to quantify the structure of the winter scavenger community and assess how climatic conditions affected spatial patterns of species occurrences at baits. The study found that habitat type (forest or alpine tundra) and snow depth were main determinants of community structure. Occurrence at baits by habitat generalists (red fox, golden eagle, and common raven) typically increased at low temperatures and high snow depth, likely due to increased energetic demands and lower abundance of natural prey in harsh winter conditions.

Usage

scavenger_community

Format

A data frame with 1255 rows and 61 variables:

id

Site identifier (factor)

year

Year of observation (numeric)

jd

Julian day (numeric)

photo_sum

Total number of photos (numeric)

empty

Number of empty photos (numeric)

raven

Number of photos with ravens (numeric)

crow

Number of photos with crows (numeric)

magpie

Number of photos with magpies (numeric)

eurjay

Number of photos with Eurasian jays (numeric)

sibjay

Number of photos with Siberian jays (numeric)

geagle

Number of photos with golden eagles (numeric)

wteagle

Number of photos with white-tailed eagles (numeric)

rlbuzz

Number of photos with rough-legged buzzards (numeric)

goshawk

Number of photos with goshawks (numeric)

redfox

Number of photos with red foxes (numeric)

arcfox

Number of photos with arctic foxes (numeric)

wolverine

Number of photos with wolverines (numeric)

badger

Number of photos with badgers (numeric)

pinemart

Number of photos with pine martens (numeric)

mustelids

Number of photos with other mustelids (numeric)

lb

Total number of photos with large birds (numeric)

bird

Total number of photos with birds (numeric)

mammal

Total number of photos with mammals (numeric)

age

Age of bait in days (numeric)

snow

Snow presence indicator (numeric)

session

Sampling session identifier (factor)

ravenm

Raven presence/absence (numeric)

crowm

Crow presence/absence (numeric)

magpiem

Magpie presence/absence (numeric)

eurjaym

Eurasian jay presence/absence (numeric)

sibjaym

Siberian jay presence/absence (numeric)

geaglem

Golden eagle presence/absence (numeric)

wteaglem

White-tailed eagle presence/absence (numeric)

rlbuzzm

Rough-legged buzzard presence/absence (numeric)

goshawkm

Goshawk presence/absence (numeric)

redfoxm

Red fox presence/absence (numeric)

arcfoxm

Arctic fox presence/absence (numeric)

wolverinem

Wolverine presence/absence (numeric)

badgerm

Badger presence/absence (numeric)

pinemartm

Pine marten presence/absence (numeric)

mustelidsm

Other mustelids presence/absence (numeric)

arcfox.day

Arctic fox detected that day (numeric)

redfox.day

Red fox detected that day (numeric)

wolverine.day

Wolverine detected that day (numeric)

raven.day

Raven detected that day (numeric)

crow.day

Crow detected that day (numeric)

magpie.day

Magpie detected that day (numeric)

geagle.day

Golden eagle detected that day (numeric)

wteagle.day

White-tailed eagle detected that day (numeric)

badger.day

Badger detected that day (numeric)

pinemart.day

Pine marten detected that day (numeric)

eurjay.day

Eurasian jay detected that day (numeric)

sibjay.day

Siberian jay detected that day (numeric)

lb.day

Large bird detected that day (numeric)

se

Session identifier (numeric)

bird.day

Any bird detected that day (numeric)

mammal.day

Any mammal detected that day (numeric)

length

Length of session (numeric)

samean

Mean solar angle (numeric)

tamean

Mean temperature (numeric)

habitat

Habitat type: "Boreal forest" or "Alpine tundra" (factor)

hosl

Hours of sunlight (numeric)

scover

Snow cover: "Snow cover" or "No snow cover" (factor)

loghosl

Log-transformed hours of sunlight (numeric)

altitude

Altitude in meters (numeric)

sdepth

Snow depth in cm (numeric)

Source

Gomo, Gjermund and Rød-Eriksen, Lars and Andreassen, Harry P. and Mattisson, Jenny and Odden, Morten and Devineau, Olivier and Eide, Nina E. (2020). Scavenger community structure along an environmental gradient from boreal forest to alpine tundra in Scandinavia. Ecology and Evolution. doi:10.1002/ece3.6834

Examples


# Load the dataset
data(scavenger_community)

# Basic exploration
head(scavenger_community)
summary(scavenger_community)

# Species richness by habitat type
if(require(dplyr)) {
  # Count number of unique species by examining columns with species data
  scavenger_community %>%
    group_by(habitat) %>%
    summarize(
      raven_present = sum(ravenm > 0, na.rm = TRUE),
      redfox_present = sum(redfoxm > 0, na.rm = TRUE),
      wolverine_present = sum(wolverinem > 0, na.rm = TRUE),
      total_species = raven_present + redfox_present + wolverine_present
    )
}

# Compare bird vs mammal occurrence between habitats
if(require(dplyr)) {
  scavenger_community %>%
    group_by(habitat) %>%
    summarize(
      bird_observations = sum(bird, na.rm = TRUE),
      mammal_observations = sum(mammal, na.rm = TRUE),
      observation_ratio = bird_observations / mammal_observations
    )
}

# Visualize snow depth distribution by habitat
if(require(ggplot2)) {
  ggplot(scavenger_community, aes(x = sdepth, fill = habitat)) +
    geom_histogram(position = "dodge", bins = 20) +
    labs(title = "Snow depth by habitat type",
         x = "Snow depth (cm)",
         y = "Count")
}


Gyps Vulture Stable Isotope Analysis - Feather Data (AR.feather subset)

Description

Stable isotope data (carbon, nitrogen, and sulfur) from Gyps vulture feathers collected in Tanzania for dietary analysis using stable isotope mixing models (SIMM). This dataset represents the AR.feather subset containing raw consumer isotope values from vulture feathers. Data was collected over 10 months from two protected areas: Serengeti National Park and Selous Game Reserve to analyze vulture dietary patterns across space and time using stable isotope analysis.

Usage

vulture_diet

Format

A data frame with 21 rows and 5 variables:

d13C

Numeric, delta 13C carbon isotope values per mill (‰)

d15N

Numeric, delta 15N nitrogen isotope values per mill (‰)

d34S

Numeric, delta 34S sulfur isotope values per mill (‰)

species

Factor, vulture species sampled (African white-backed or Rüppell's griffon)

tissue

Factor, tissue type analyzed (feathers)

Details

Vultures were captured using noose lines around provisioned or natural bait, processed, and released. Feather samples were analyzed for delta13C, delta15N, and delta34S using a PyroCube elemental analyzer at the NERC Life Sciences Mass Spectrometry Facility. The isotope signatures provide insights into vulture diet composition, with delta13C distinguishing between C3 and C4 plant consumers (browsers vs grazers), delta15N indicating trophic level, and delta34S helping separate geographic regions.

This subset was specifically prepared for use in stable isotope mixing models to estimate diet composition in Gyps vultures. The study found that vulture diet consisted primarily of grazing herbivores, with those in Serengeti National Park consuming higher proportions (>87%) of grazing species. Coordinates in the original study were denatured by +0.5 degrees to preserve geographic distribution while ensuring location confidentiality.

Collection period: August 18, 2018 to May 31, 2019 Study locations: Serengeti National Park (2.1540°S, 34.6857°E) and Selous Game Reserve (9.0000°S, 37.5000°E), Tanzania

Source

Baino, A., Hopcraft, G., Kendall, C., Munishi, L., Behdenna, A., & Newton, J. (2021). We are what we eat, plus some per mill: Using stable isotopes to estimate diet composition in Gyps vultures over space and time. Dryad Digital Repository. doi:10.5061/DRYAD.1NS1RN8QF

Examples


# Load the dataset
data(vulture_diet)
head(vulture_diet)
summary(vulture_diet)

# Examine isotope signatures by species
boxplot(d13C ~ species, data = vulture_diet,
        main = "Carbon Isotope Signatures by Vulture Species",
        xlab = "Species", ylab = "d13C (per mill)")

# Create isotope biplot
plot(vulture_diet$d13C, vulture_diet$d15N,
     col = as.numeric(vulture_diet$species),
     pch = 16, cex = 1.2,
     xlab = "d13C (per mill)", ylab = "d15N (per mill)",
     main = "Vulture Feather Isotope Signatures")
legend("topright", legend = levels(vulture_diet$species), 
       col = 1:nlevels(vulture_diet$species), pch = 16)

# Summary statistics by species
aggregate(. ~ species, data = vulture_diet[,1:4], FUN = mean)


The Evolution of Hearing and Brain Size in Eocene Whales

Description

A dataset containing endocranial volume and body mass measurements for various cetacean (whale) species and other mammals. This dataset was compiled to study the evolution of hearing and brain size in Eocene whales. It includes both extant (living) and fossil species, with a focus on understanding how brain size evolved in relation to body mass and hearing adaptations across different taxonomic groups. The dataset is particularly valuable for teaching concepts in comparative anatomy, allometry, and cetacean evolution.

Usage

whale_brains

Format

A data frame with 269 rows and 9 variables:

family

Taxonomic family of the species

binomial_name

Full taxonomic name for each species

common_name

Common name for each species (NA for most fossil species)

endocranial_volume

Endocranial volume in cubic centimeters (cc)

brain_mass

Brain mass in grams

ocw_mm

Occipital condyle width in millimeters

body_mass

Body mass in kilograms

taxonomic_group

Categorization as "Cetacean", "Hippopotamid", or "Other Mammal"

time_period

Classification as "Extant" (living) or "Fossil" species

Details

Toothed whales (odontocetes) use high-frequency sounds to echolocate, differing significantly from baleen whales (mysticetes), which use low-frequency sound for long-distance communication. This dataset helps explore how hearing functioned in ancestral archaeocetes, and when the specializations of modern species arose.

Source

Peacock, John and Waugh, David and Bajpai, Sunil and Thewissen, JGM (2025). The evolution of hearing and brain size in Eocene whales. Dryad Digital Repository. doi:10.5061/DRYAD.SF7M0CGH1

Examples


# Load the dataset
data(whale_brains)

# Basic exploration
head(whale_brains)
summary(whale_brains)

# Compare brain mass across taxonomic groups
boxplot(whale_brains$brain_mass ~ whale_brains$taxonomic_group, 
        main = "Brain Mass by Taxonomic Group",
        ylab = "Brain Mass (g)", log = "y")

# Look at the relationship between brain mass and body mass
# Using log scales to show allometric relationships
plot(whale_brains$body_mass, whale_brains$brain_mass, 
     log = "xy", col = as.numeric(whale_brains$taxonomic_group),
     pch = 16, main = "Brain Mass vs. Body Mass",
     xlab = "Body Mass (kg)", ylab = "Brain Mass (g)")
legend("topleft", legend = levels(whale_brains$taxonomic_group), 
       col = 1:3, pch = 16)
       
# Compare fossil and extant cetaceans
cetaceans <- subset(whale_brains, taxonomic_group == "Cetacean")
boxplot(cetaceans$brain_mass ~ cetaceans$time_period,
        main = "Brain Mass in Fossil vs. Extant Cetaceans",
        ylab = "Brain Mass (g)", log = "y")