Data from: Social hair plucking across affiliative and agonistic contexts, with health considerations, in captive rhesus macaques (Macaca mulatta)
Data files
Jun 29, 2026 version files 13.74 MB
Abstract
Primate social hair plucking (SHP) has been posited to be prosocial or agonistic, though the health-associated concerns of SHP are less frequently explored. We studied SHP in seven mixed-sex groups of captive rhesus macaques (Macaca mulatta), at the National Biomedical Research Institute. We examined whether individual rates of SHP were associated with grooming, aggression, and socio-demographic characteristics. We also examined whether SHP rates were associated with alopecia, body condition, and hair cortisol concentrations. Rates of SHP production and reception were similar to grooming and aggression, yet exhibited directional rank flow similar to aggression, with kin biases similar to those for grooming. The SHP given was associated with shared kinship with a social hair plucker; putative evidence of social transmission. The SHP received was associated with alopecia. SHP given was associated with hair cortisol concentrations in females, albeit with high uncertainty. SHP fits the description of an abnormal behavior, is defined by a function, shows characteristics upheld by prosocial and aggressive behaviors, and has health associations. Future research should develop a comparative framework of SHP across species to examine mechanisms and motivations.
Dryad DOI: https://doi.org/10.5061/dryad.m37pvmdbr
Article DOI: https://doi.org/10.1080/10888705.2026.2692473
Alexander J. Pritchard 1,2*, Julia A. Salamango 1,3, Brenda McCowan 1,2
1 National Biomedical Research Institute, University of California Davis, Davis, CA, USA
2 Department of Population Health & Reproduction, School of Veterinary Medicine, University of California Davis, Davis, CA, USA
3 Department of Anthropology, University of California, Santa Barbara, Santa Barbara, CA, USA
*Corresponding author: ajpritchard@ucdavis.edu
Description of the data and file structure
Data are contained within a single *.rds file (Pritchard-et-al_Social-Hair-Plucking_Dataframes.RData), accessible through the R programming language. Opened within R, this file will contain the data necessary for the relevant paper's analyses. Imported dataframes represent five datasets. I would advise against merging these, as the rates are already normalized for each analysis, and – in some instances –over different timeframes (e.g., CORT2’s rates are aggregated over ~1 month or so, while SHP_Data is over ~3 months). The five dataframes are: SHP_Data, AHP_Data, Alop, Body, and CORT2. The columns within each dataframe are detailed below:
Data analyses are detailed in the file entitled: Pritchard-et-al_Social-Hair-Plucking_Combined_Analyses.R
SHP_Data: Social hair plucking dataset
- Groups: animal social group that each subject ID was resident to
- ID: subject animal ID codes, from 1:N, where N is the total number of study subjects
- Sex: subject animal's sex
- Matriline: subject animal matrilineal kinship group codes
- HPkin: Count of kin that engaged in SHP
- Mat_Size: total size of subjects’ matrilines
- Aff_Days: number of affiliation days that each subject was observed for. This is often consistent within a group, unless we were able to include relocation/hospitalization data
- Age: age (years) of subject animal
- Rank: Social dominance rank
- HP_Giv: count of SHP events that the subject initiated
- HP_Rcv: count of SHP events that the subject received
- Grm_Giv: rate of grooming events that the subject initiated
- Grm_Rcv: rate of grooming events that the subject received
- Con_Giv: rate of aggression events that the subject initiated
- Con_Rcv: rate of aggression events that the subject received
- NoHPKin: Count of kin that did not engage in SHP
AHP_Data: Agonistic Hair Plucking dataset
- Groups: animal social group that each subject ID was resident to
- ID: subject animal ID codes, from 1:N, where N is the total number of study subjects
- Sex: subject animal's sex
- Matriline: subject animal matrilineal kinship group codes
- HPkin: Count of kin that engaged in SHP
- Mat_Size: total size of subjects’ matrilines
- Con_Days: number of conflict days that each subject was observed for. This is often consistent within a group, unless we were able to include relocation/hospitalization data
- Age: age (years) of subject animal
- Rank: Social dominance rank
- HP_Giv: rate of SHP events that the subject initiated
- HP_Rcv: rate of SHP events that the subject received
- Grm_Giv: rate of grooming events that the subject initiated
- Grm_Rcv: rate of grooming events that the subject received
- Con_Giv: rate of aggression events that the subject initiated
- Con_Rcv: rate of aggression events that the subject received
- NoHPKin: count of kin that did not engage in SHP
- HAG_Giv: count of AHP events that the subject initiated
Alop: Alopecia dataset
- ID: subject animal ID codes, from 1:N, where N is the total number of study subjects
- Groups: animal social group that each subject ID was resident to
- Observer: codes for human observer who scored each animal subject
- Date: date of subjects’ scoring
- AlopeciaBody: rating of 1-5, with 1 being “very good hair”, with each subsequent value representing 25% intervals until 5, being 100% hair loss.
- HP: dichotomous code for whether a subject gave SHP at any point before, or on, the current date. Starts at 0 for all subjects, then switches to 1 and stays ‘on’ after that point.
- HP_Rec: dichotomous code for whether a subject received SHP at any point before, or on, the current date. Starts at 0 for all subjects, then switches to 1 and stays ‘on’ after that point.
- HPkin: count of kin that engaged in SHP
- Age: age (years) of subject animal
- Rank: social dominance rank
- Sex_Status: subject animal's sex with “_” followed by sexual status (Preg. or NotPreg for pregnant or not; males have an NA)
- Mo.Num: month as a continuous variable (1:12)
- Month: month as a factor (1:12)
Body: Body condition dataset
- ID: subject animal ID codes, from 1:N, where N is the total number of study subjects
- Groups: animal social group that each subject ID was resident to
- Observer: codes for human observer who scored each animal subject
- Date: date of subjects’ scoring
- BodyCondition: rating of 1-5, with 1 being “very good hair”, with each subsequent value representing 25% intervals until 5, being 100% hair loss.
- HP: dichotomous code for whether a subject gave SHP at any point before, or on, the current date. Starts at 0 for all subjects, then switches to 1 and stays ‘on’ after that point.
- HP_Rec: dichotomous code for whether a subject received SHP at any point before, or on, the current date. Starts at 0 for all subjects, then switches to 1 and stays ‘on’ after that point.
- HPkin: count of kin that engaged in SHP
- Age: age (years) of subject animal
- Rank: social dominance rank
- Sex_Status: subject animal's sex with “_” followed by sexual status (Preg. or NotPreg for pregnant or not; males have an NA)
- Mo.Num: month as a continuous variable (1:12)
- Month: month as a factor (1:12)
CORT2: Hair Cortisol dataset
- Groups: animal social group that each subject ID was resident to
- Date: date of subject group’s sampling
- ID: subject animal ID codes, from 1:N, where N is the total number of study subjects
- Sex: subject animal's sex
- Age: age (years) of subject animal
- T_max_Mx: maximum temperature measure (ºC) assuming the maximum (warmest) value, averaged over 2 days prior to sampling
- Con_Giv: rate of aggression events that the subject initiated
- Con_Rcv: rate of aggression events that the subject received
- Grm_Giv: rate of grooming events that the subject initiated
- Grm_Rcv: rate of grooming events that the subject received
- HP_Giv: rate of SHP events that the subject initiated
- HP_Rcv: rate of SHP events that the subject received
- HP_Ag_Giv: rate of AHP events that the subject initiated
Code/Software
R software was used to complete the analyses. Details of analyses are in the *.R files entitled (Pritchard-et-al_Social-Hair-Plucking_Combined_Analyses.R). Open this file and use it to read in the data file: Pritchard-et-al_Social-Hair-Plucking_Dataframes.RData. Ensure the code is pointing to the correct directory where you stored the dataframes file. The dataframes import five data files. Note that running all analyses will be computationally intensive.
