Skip to main content
Dryad logo

Multivariate phenotypic divergence along an urbanization gradient


Santangelo, James; Rivkin Ruth, L.; Advenard, Carole; Thompson, Ken (2020), Multivariate phenotypic divergence along an urbanization gradient, Dryad, Dataset,


A growing body of evidence suggests that natural populations can evolve to better tolerate the novel environmental conditions associated with urban areas. Invariably, studies of adaptive divergence in urban areas examine only one or a few traits at a time from populations residing only at the most extreme urban and nonurban habitats. Thus, whether urbanization is driving divergence in many traits simultaneously in a manner that varies with the degree of urbanization remains unclear. To address this gap, we generated seed families of white clover (Trifolium repens) collected from 27 populations along an urbanization gradient in Toronto, Canada, and grew them in a common garden to measure 14 phenotypic traits. Overall, families from urban sites had evolved later phenology and germination, larger flowers, thinner stolons, reduced cyanogenesis, greater biomass, and greater seed set. Pollinator observations revealed near complete turnover of pollinator morphological groups between urban and nonurban sites, which may explain some of the observed divergence in floral traits and phenology. Our results suggest that adaptation to urban environments involves multiple organismal traits.


We collected Trifolium repens plants from 27 populations along an urban-rural gradient.

We grew F1 of these plants in a common garden, measured 14 phenotypic traits, and examined multivariate divergence in these traits across our urbanization transect.

We additionally conducted pollinator observations in each population. 

Usage Notes

Please See file in the attached .zip folder.

All datasets and code required to reproducibly generate the manuscript's results are provided in this repository. However, it is recommended that anyone wishing to reproduce this paper's results follow the instructions below using the code provided in the associated GitHub repository, which will additionally allow the code to be run using consistent package versions across platforms and R instances.