Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

DOI

Demographic rates of tree species in subtropical forests vary across ontogenetic stages regardless of their biogeographical origin and leaf habit: Morales et al. (2026) at Austral Ecology.

This repository contains the data and R code used to analyze demographic vital rates (recruitment, mortality, turnover and population growth) of tree species, and to test whether these rates are associated with biogeographic origin (Tropical vs. Temperate), leaf habit (Deciduous vs. Evergreen), and ontogenetic stage (Adult vs. Juvenile).

The repository is organized so that anyone can reproduce the statistical analysis, figures, and supplementary phylogenetic tests starting from the species-level demographic data provided here.

Data availability

This repository makes available the processed, species-level data:

  • Adult and juvenile abundance counts (survivors, recruits, deaths) per species, used to calculate vital rates.
  • Each species' biogeographic origin and leaf habit.

The original individual-level (tree/stem) census data are not included in this repository, as they correspond to raw field-monitoring records from the long-term forest plots. The species-level tables below are the starting point for reproducing the analysis.

Repository structure

tree_demographic_rates/
├── R-scripts/
│   ├── 00_packages_and_setup.R                  # installs/loads required packages
│   ├── 01_raw_data_processing.R                 # documentation only (raw data not included)
│   ├── 02_vital_rates.R                         # recruitment, mortality, turnover, growth
│   ├── 03_biogeographic_origin_and_leaf_habit.R # merges vital rates with species traits
│   ├── 04_glm_models.R                          # GLMs testing origin/habit/stage effects
│   ├── 05_figures.R                             # main figures (predicted vs. observed rates)
│   ├── 06_phylogenetic_signal.R                 # phylogenetic tree and signal tests
│   └── 07_supplementary_figure.R                # Figure S1 (tree + caption)
├── processed-data/
│   ├── adult_species_level.csv                  # starting data: adults
│   └── juvenile_species_level.csv                # starting data: juveniles
├── species-info/
│   └── biogeo_origin_leaf_habit.csv             # starting data: species traits
├── vital-rates/                                  # generated by 02_vital_rates.R
├── data-analysis/                                # generated by 03_biogeographic_origin_and_leaf_habit.R
├── figures/                                      # generated by 05_figures.R (reference copies included)
├── supplementary/                                # generated by 04 and 07 (reference copies included,
│                                                  #   plus the original manuscript table as .docx)
└── tree_demographic_rates.Rproj

Data description

processed-data/adult_species_level.csv and processed-data/juvenile_species_level.csv

One row per species (species with fewer than 10 individuals in the first census were excluded). Columns:

Column Description
Species Species name (Genus species)
Ns Number of individuals that survived between the two censuses
Nr Number of individuals recruited into the population by the second census
Nm Number of individuals that died between the two censuses

These counts are the only inputs needed to calculate the recruitment, mortality, turnover and finite population growth rates in 02_vital_rates.R. The average interval between the two censuses was 5.594278 years.

species-info/biogeo_origin_leaf_habit.csv

One row per species. Columns:

Column Description
Species Species name (Genus species)
Origin Biogeographic origin: Tropical or Temperate
Deciduousness Leaf habit: Deciduous or Evergreen

How to reproduce the analysis

  1. Open tree_demographic_rates.Rproj in RStudio (this sets the working directory to the repository root, which all scripts assume).

  2. Run R-scripts/00_packages_and_setup.R to install and load the required packages (see list below). V.PhyloMaker2 is installed from GitHub.

  3. Run the numbered scripts in order:

    Script Purpose Needs
    01_raw_data_processing.R Documents how the species-level tables were derived from raw census data Not reproducible here — raw data not included; kept for transparency
    02_vital_rates.R Computes recruitment, mortality, turnover and population growth rates processed-data/*_species_level.csv
    03_biogeographic_origin_and_leaf_habit.R Merges vital rates with origin and leaf habit outputs of script 02, species-info/biogeo_origin_leaf_habit.csv
    04_glm_models.R Fits and selects the GLMs (ordbeta and Gamma models) outputs of script 03
    05_figures.R Produces the predicted-vs-observed rate figures outputs of script 03
    06_phylogenetic_signal.R Builds the phylogeny and tests for phylogenetic signal outputs of script 03
    07_supplementary_figure.R Adds the caption to the phylogenetic tree figure (Figure S1) run right after script 06, in the same session (reuses the phylo_panel object)

    Scripts 02–06 create their own output folders (vital-rates/, data-analysis/, figures/, supplementary/) if they do not already exist, so the analysis can be reproduced from a clean checkout containing only R-scripts/, processed-data/, and species-info/.

  4. Reference copies of the main figures, the Figure S1 PDF, and the model estimates table are already included in figures/ and supplementary/ so you can check your output against the original results without re-running everything.

Required R packages

c("dplyr", "tidyverse", "readr", "tidyr",
  "ggplot2", "ggthemes", "patchwork", "ggeffects",
  "data.table", "formattable",
  "ggpubr", "rstatix",
  "glmmTMB", "betareg", "performance", "DHARMa",
  "broom.mixed", "purrr",
  "colorspace", "visreg", "scales", "ggsignif",
  "ape", "caper", "cowplot",
  "remotes")

Plus V.PhyloMaker2, installed with:

remotes::install_github("jinyizju/V.PhyloMaker2")

Citation

If you use this data or code, please cite the associated publication [DOI: 10.5281/zenodo.22696037].

Contact

Davi da Cunha Morales (e-mail: davidacunhamorales@gmail.com)

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages