CSR_hodgson: Classify Plant Strategies using Hodgson et al. (1999) CSR...

View source: R/CSR_hodgson.R

CSR_hodgsonR Documentation

Classify Plant Strategies using Hodgson et al. (1999) CSR Method

Description

This function calculates C, S, and R scores as percentages based on input plant trait data, following the approach of Hodgson et al. (1999) and its application in Caccianiga et al. (2006). Input is a dataframe with specific trait columns, and the output is a new dataframe containing calculated CSR coordinates, percentages, and assigned CSR type.

Usage

CSR_hodgson(data)

Arguments

data

A data.frame containing the following columns:

growth_form

Character vector: plant growth form, "g" for graminoid, "n" for non-graminoid.

CH

Numeric: Canopy height (mm).

LDMC

Numeric: Leaf dry matter content (percent).

FP

Numeric: Flowering period (# of months).

LS

Numeric: Lateral spread (six-point classification).

LDW

Numeric: Leaf dry weight (mg).

SLA

Numeric: Specific leaf area (mm2/mg).

FS

Numeric: Flowering start (month).

Details

Implements the Hodgson et al. (1999) method for allocating plant species into the CSR (Competitor–Stress-tolerator–Ruderal) triangle based on plant functional traits. Also assigns each species to the nearest CSR type.

This implementation:

  • Uses different equations for graminoids and non-graminoids to compute raw CSR dimensions.

  • Scales results to coordinate space [-2.5, 2.5], then shifts to positive and converts to percentages.

  • Assigns the nearest CSR type based on standard reference CSR percentages from Hodgson's scheme.

Value

A data.frame with the following columns:

  • growth_form, CH, LDMC, FP, LS, LDW, SLA, FS — copied from input;

  • C, S, R — calculated CSR percentages;

  • type — assigned CSR type label (e.g., "C", "CSR", "S/CSR").

Note

Input data must not contain NA values in required columns. If such values are present, the function will stop with an error.

References

  1. Hodgson, J.G., Wilson, P.J., Hunt, R., Grime, J.P. & Thompson, K. (1999). Allocating CSR plant functional types: a soft approach to a hard problem. Oikos, 85, 282–294.

  2. Caccianiga, M., Luzzaro, A., Pierce, S., Ceriani, R.M. & Cerabolini, B. (2006). The functional basis of a primary succession resolved by CSR classification. Oikos, 112, 10–20.

Examples

# Example trait dataset
traits <- data.frame(
  growth_form = c("g", "g", "n", "g", "n"),
  CH = c(45.3, 169.7, 13.7, 132.7, 76.0),
  LDMC = c(33.0, 37.9, 25.9, 28.0, 15.7),
  FP = c(2, 2, 2, 1, 2),
  LS = c(3, 5, 4, 2, 5),
  LDW = c(1.9, 9.9, 2.3, 7.5, 40.2),
  SLA = c(19.0, 20.4, 15.2, 22.6, 21.8),
  FS = c(5, 5, 4, 5, 5)
)

# Run CSR classification
result <- CSR_hodgson(traits)
print(result)

# Plot CSR positions
CSR_plot(data = result)


MultiTraits documentation built on March 22, 2026, 9:06 a.m.