silv_stand_dominant_height: Calculates the dominant height

View source: R/metrics-stand-level.R

silv_stand_dominant_heightR Documentation

Calculates the dominant height

Description

Calculates the dominant height using the Assman equation or the Hart equation

Usage

silv_stand_dominant_height(diameter, height, ntrees = NULL, which = "assman")

Arguments

diameter

Numeric vector with diameter classes

height

Numeric vector with averaged heights by diameter class

ntrees

Optional. Numeric vector with number of trees per hectare. Use this argument when you have aggregated data by diametric classes (see details).

which

The method to calculate the dominant height (see details)

Details

The dominant height H_0 is the mean height of dominant trees, which is less affected than overall mean height by thinning or other treatments.

  • Assman: calculates the H_0 as the mean height of the 100 thickest trees per hectare

  • Hart: calculates the H_0 as the mean height of the 100 tallest trees per hectare

When ntrees = NULL, the function will assume that each diameter and height belongs to only one tree. If you have data aggregated by hectare, you'll use the number of trees per hectare in this argument.

Value

A numeric vector

References

Assmann, E. (1970) The principles of forest yield study: Studies in the organic production, structure, increment, and yield of forest stands. Pergamon Press, Oxford.

Examples

## calculate h0 for inventory data grouped by plot_id and species
library(dplyr)
inventory_samples |>
mutate(dclass = silv_tree_dclass(diameter)) |>
  summarise(
    height = mean(height, na.rm = TRUE),
    ntrees = n(),
    .by    = c(plot_id, species, dclass)
  ) |>
  mutate(
    ntrees_ha = silv_density_ntrees_ha(ntrees, plot_size = 10),
    h0        = silv_stand_dominant_height(dclass, height, ntrees_ha),
    .by       = c(plot_id, species)
  )

silviculture documentation built on Nov. 5, 2025, 7:13 p.m.