Data from: Stress responsiveness in a wild primate predicts survival across an extreme El Niño drought
Data files
Jan 06, 2025 version files 2.16 MB
-
analysis_std_spi_chelsa_PV.csv
303 KB
-
BLUP_spi_chelsa.csv
5.32 KB
-
BLUP_spi_pverde.csv
5.29 KB
-
BLUP_std_chelsa.csv
5.32 KB
-
BLUP_std_pverde.csv
5.28 KB
-
data_additional3.csv
545 B
-
data_adultFemaleMortality.csv
752 B
-
data_droughtIndices.csv
107.52 KB
-
data_foraging1.csv
194.80 KB
-
data_glucocorticoids3.csv
77.44 KB
-
data_precip_CHELSA_1979-2016.csv
754.18 KB
-
data_precip_PaloVerde_19962020.csv
448.40 KB
-
data_precip_reallomas.csv
69.45 KB
-
data_rainfall.csv
55.99 KB
-
plotmodelsdata.csv
113.25 KB
-
README.md
11.39 KB
-
total_monthly_rain_pv.csv
731 B
Abstract
We know more about the costs of chronic stress than the benefits of the acute stress response – an adaptive response that buffers organisms from life-threatening challenges. Yet, no primate study has empirically identified how the stress response adaptively impacts evolutionary fitness. Here, we take advantage of a natural experiment – an El Niño drought – that produced unprecedented mortality for wild white-faced capuchins. Using a reaction norm approach, we provide evidence from primates that a more robust stress response to a stressor, measured using fecal glucocorticoids, predicts a greater likelihood of survival. We show that individuals with greater stress responsiveness to previous droughts later had higher survival across a severe El Niño drought. Evolutionary models need empirical data on how stress responsivity varies in adaptive ways. While we cannot buffer subjects from catastrophic events, we can use them to understand which aspects of the stress response help animals to “weather the storm”.
README: Data from: Stress responsiveness in a wild primate predicts survival across an extreme El Niño drought
Included here are all data and code necessary to replicate findings from “Stress responsiveness in a wild primate predicts survival across an extreme El Niño drought”.
Demographic and fecal sample information came from the Lomas Barbudal Monkey Project database.
Description of the data and file structure
THE FOLLOWING DATASETS ARE PROVIDED AS .CSV FILES:
Date formats should be yyyy-mm-dd
“data_droughtIndices.csv” - drought indices used in main analyses
Indices: std_don_pverde, std_don_chelsa, SPI_Don_PVERDE, SPI_Don_CHELSA
std_don_pverde: drought index based on Palo Verde estimates (unitless)
std_don_chelsa: alternative drought index based on CHELSA estimates (unitless)
SPI_Don_PVERDE: alternative drought index based on Palo Verde estimates, using SPI (unitless)
SPI_Don_CHELSA: alternative drought index based on CHELSA estimates, using SPI (unitless)
“data_glucocorticoids3.csv” - capuchin data used in main analyses
Outcome variables: Survived (0: No, 1: Yes), LN_GCS (log glucocorticoids ng/g)
Fixed effects: ctime (collection time, minutes into day), season (categorical: wet/dry), Pregnancy (categorical: other, Early pregnancy, Late pregnancy), group_size (continuous, # of capuchins in group), age (continuous, years), rank01 (proportion dominated)
Random effects: ID (identity of subject), groupid (group of residence)
"data_rainfall.csv" - expected rainfall
columns
day_index: numeric value for day of year
Month: Month of year
Day: Day of year
MD: Month-Day (e.g., 01/Jan for January 1st)
mu30: daily average precipitation estimate over 30-day window (mm)
sd30: standard deviation of mu30 value
data: categorical, dataset from which precipitation value comes from (PVERDE: Palo Verde; CHELSA)
mm_rain_std: standardised value for daily mm average precipitation estimate over 30-day window (unitless)
"data_additional3.csv" - age and rank at start of El Nino
columns
ID: categorical, identity of subject
age_ElNino: age (years) of subject at start of El Niño drought
rank_ELNino: rank (proportion of group dominated) of subject at start of El Niño
File used to examine mortality due to El Niño:
“data_adultFemaleMortality.csv” - data on female mortality
Outcome variable: n died (number of females that died)
Fixed effects: exposure (offset)
(deathrate is ndied divided by exposure; exposure takes into account the fraction of the year that females were both adults and still alive)
Files used to generate the drought indices found in “data_droughtIndices.csv”:
“data_precip_CHELSA*1979-2016.csv” - CHELSA daily precipitation measures.
columns
Date: precipitation estimate date
YEAR: precipitation estimate year
MONTH: precipitation estiamte month
DAY: precipitation estimate day
MD: precipitation estimate day-month (e.g., "01/Jan" for January 1st)
YDAY: index for day of year
rain_mean_mm: precipitation estimate for day
rain_30daysSUm_CHELSA: sum for precipitation estimate for 30-day rolling window. The first 29 rows of data for the last column (which represents the sum of the past 30 days' values) are "NA" due to the fact that 30 days of previous data would be required to calculate this sum, and such data do not exist.
“data_precip_PaloVerde_19962020.csv” - Palo Verde daily precipitation measures
Additional precipitation file for correlations between Lomas and Palo Verde
date: rainfall estimate data
final_rain: rainfall measure from Palo Verde OTS station
NA for dates without rainfall measure
year: rainfall estimate year
month: rainfall estimate month
day: rainfall estimate day
mean_daily_30rain: mean daily rainfall for 30-days surrounding date, without filling missing data. This is the 15-days prior to date and the 15-days after date (does not include date).
NA for dates without sufficient rainfall measures
n_missing_daily: missing days of data in "final_rain" for calculating "mean_daily_30rain"
NA for dates where "mean_daily_30rain" was not calculated (n=15, first 15 days in data set)
dayrain: copy of "final_rain", but with missing values filled in, if possible, by values in "main_daily_30rain"
NA for dates without updated rainfall measure
pv_tot_30rain: 30-day rolling sum of rainfall, based on column "dayrain"
NA for dates without rainfall measure
n_missing_total: missing days of data estimate of "pv_tot_30rain"
NA for dates where "pv_tot_30rain" was not calculated (n=29, first 29 days in data set)
est_dayrain: copy of "dayrain", but with NA values for dates where there is excess missing data (i.e., more than 15 days of missing values)
“data_precip_reallomas.csv” - Lomas Barbudal precipitation measures
date: date of rainfall measure
Year: year of rainfall measure
Month: month of rainfall measure
Day: day of rainfall measure (range: 1-31)
rainfall: rainfall measure (mm)
l_tot_rain: 30-day rolling sum of rainfall (mm)
Additional precipitation file for the average monthly rainfall totals at Palo Verde
"total_monthly_rain_pv.csv" - Palo Verde monthly rainfall totals (1996-2016)
Files used for post-hoc foraging analyses:
"data_foraging1.csv" - proportion of time foraging insects or fuit
Y: calendar year
M: calendar month
D: calendar day
n: number of group scans
class: categorical, foraging insects (FI) or foraging fruit (FF)
count: number of observations of foraging
date: date of observation
std_don_pverde: drought index based on Palo Verde estimates (unitless)
day_index: numeric value for day of year
MD: day-month (e.g., "01/Jan" for January 1st)
mm_rain_std: standardised value for mu30 (unitless)
RESPONSE AND PREDICTOR VARIABLE DESCRIPTIONS FOR MAIN MODELS
Columns used later as response variables:
LN_GCS: log glucocorticoids ng/g
Lived: whether a female survived (1) or not (0) during the El Niño drought
Columns used later as predictor variables:
std_don_pverde: STD drought risk index based on Palo Verde rainfall estimates (unitless)
SPI_Don_PVERDE: SPI drought risk index based on Palo Verde rainfall estimates (unitless)
std_don_chelsa: STD drought risk index based on CHELSA rainfall estimates (unitless)
SPI_Don_CHELSA: SPI drought risk index based on CHELSA rainfall estimates (unitless)
rain_mm_std: standardized measure of expected rainfall (rain seasonality) (unitless)
Survived: whether a female survived (1) or not (0) the El Niño drought
age: age of female (in years) at time of fecal sample collection
age_ElNino: age of female (in years) at the start of the El Niño-related drought
rank01: rank of female (proportion of group dominated) at the time of sample collection
rank_ElNino: rank of female (proportion of group dominated) at the start of the El Niño-related drought
group_size: number of capuchins in group
Pregnancy: categorical female reproductive state at time of sample collection (’Other’, ‘Early pregnancy’, ‘Late pregnancy’)
cdate: date of sample collection
ctime: time of sample collection
Columns used later for random effects:
ID: identity of female
groupid: group female was resident in at time of sample collection
Sharing/Access information
Precipitation estimates were derived from the following sources:
- CHELSA estimates were accessed via: [https://chelsa-climate.org]. See the following reference for more information about the data set: Dirk N. Karger, Stefan Lange, Chantal Hari, Christopher P. O. Reyer, Niklaus E. Zimmermann (2021): CHELSA-W5E5 v1.1: W5E5 v1.0 downscaled with CHELSA v2.0. ISIMIP Repository. https://doi.org/10.48364/ISIMIP.836809.1
- Raw Palo Verde station data can be accessed via the Organization for Tropical Studies (OTS): [https://tropicalstudies.org/portfolio/palo-verde-research-station/]
- Meteorological data can be assessed through: [https://bixa.tropicalstudies.org/meteoro/default.php]
Code/Software
You will need to have R installed. Analyses were primarily conducted using R version 4.3.2. Download all files into one folder and set it as your working directory. You can create a subfolder ‘objects’ to save model objects in (all .rds files).
We used the following R packages:
brms (versions 2.20.4 and 2.21.0)
sjPlot (version 2.8.14)
standaRdized (version 1.0)
tidyverse (version 2.0.0)
Code used to run the main models are in the following .Rmd files. The code is written assuming at least 4 cores for running models in parallel.
“1-drought-indices.Rmd”
- requires the use of the following data files:
- “data_precip_CHELSA_1979-2016.csv”
- “data_precip_PaloVerde_19962020.csv”
“2_Model_fGC.Rmd”
- requires the use of the following data files:
- “data_glucocorticoids3.csv”
- “data_droughtIndices.csv”
- "data_rainfall.csv"
Files for visualization and model checks
"1a-drought-visualization.Rmd"
- can use file "data_droughtIndices.csv"
- can use file "analysis_std_spi_chelsa_PV.csv"
“2a_Model-check-and-visualization.Rmd”
- can use file "plotmodelsdata.csv"
Model outputs (objects) have also been saved as .rds files
Preliminary models:
prelim_pverde.rds
prelim_chelsa.rds
Reaction-norm-extraction model outputs (to generate reaction norm BLUPs):
fGC_2x_spi_chelsa.rds
fGC_2x_spi_pverde.rds
fGC_2x_std_chelsa.rds
fGC_2x_std_pverde.rds
Glucocorticoid-predicting-survival model outputs:
surv_all_spi_chelsa2.rds
surv_all_spi_pverde2.rds
surv_all_std_chelsa2.rds
surv_all_std_pverde2.rds
Survival-predicting-glucocorticoids model outputs (3-way interaction model):
fGC_3x_spi_chelsa.rds
fGC_3x_pverde.rds
fGC_3x_std_chelsa.rds
fGC_3x_std_pverde.rds
for convenience, reaction norm BLUPs have also been saved as .csv files
BLUP_std_pverde.csv
BLUP_spi_pverde.csv
BLUP_std_chelsa.csv
BLUP_spi_chelsa.csv
columns used in downstream analyses
ID: categorical, identity of subject
intDry_mu: BLUP value for dry season intercept
intWet_mu: BLUP value for wet season intercept
slpDry_mu: BLUP value for dry season slope
slpWet_mu: BLUP value for wet season slope
index: categorical, drought index used
age_ElNino: age at start of el Niño drought
rank_ElNino: rank (proportion of group dominated) at start of El Niño
Survived: categorical, whether subject survived the drought (No: "0", Yes: "1")
Lived: integer, whether subject survived the drought (No: "0", Yes: "1")
SUPPLEMENTARY FILES
Code for supplementary analyses are provided in the following .Rmd files.
“S1 Mortality-analysis.Rmd”
- requires the use of the following data file:
- “data_adultFemaleMortality.csv”
“S2 Compare-lomas-pv.Rmd”
- requires the use of the following data files:
- “data_precip_reallomas.csv”
- “data_precip_PaloVerde_19962020.csv”
"SI_models_fGC_subset_rainy.Rmd"
- same analyses as in main text, but using only wet season data
- requires the use of the following data files:
- “data_glucocorticoids3.csv”
- “data_droughtIndices.csv”
- "data_rainfall.csv"
- "data_additional3.csv"
"SI_models_foraging.Rmd"
- requires the use of the following data files:
- “data_foraging1.csv”
- “data_droughtIndices.csv”
- "data_rainfall.csv"
Methods
These are observational data: Demographic data and noninvasively obtained fecal samples were collected from a wild population of white-faced capuchin monkeys that are subjects of a long-term study at Lomas Barbudal Biological Reserve, Costa Rica. The rawest form of the demographic data and information about fecal samples are housed in a MySQL database at UCLA, which was queried to produce the data used in this study. Fecal samples were dried in the Lomas Barbudal Monkey Project field lab, and then extracted and assayed in a University of Michigan-Ann Arbor core facility lab.
Usage notes
We used the following R packages:
brms (versions 2.20.4 and 2.21.0)
sjPlot (version 2.8.14)
standaRdized (version 1.0)
tidyverse (version 2.0.0)