View source: R/treatment-thinning.R
| silv_treatment_thinning | R Documentation |
Calculates thinning schemes for forest management by selecting trees to extract based on specified criteria. Supports both thinning from below (removing smaller trees) and thinning from above (removing larger trees) approaches.
silv_treatment_thinning(
data,
var,
diameter,
ntrees,
thinning = "below",
perc = 0.3,
.groups = NULL
)
data |
A data frame, or silviculture::Inventory object. See details. |
var |
A variable used for calculating the thinning. Typically used variables basal area, number of trees, or volume |
diameter |
Numeric vector with diametric classes |
ntrees |
Numeric vector with the number of trees per hectare of each diametric class |
thinning |
Charater string specifying the thinning type. Available options
are |
perc |
Numeric value between 0 and 1 specifying the percentage of |
.groups |
A character vector with variables to group by (e.g. plot id, tree
species, etc). Ignored when using a |
This function implements common silvicultural thinning practices:
Thinning from below: Removes trees with the lowest values of the specified variable. This approach typically removes suppressed, damaged, or poor-quality trees, mimicking natural mortality processes.
Thinning from above: Removes trees with the highest values of the specified variable. This approach harvests the most valuable trees while leaving smaller trees to continue growing.
The function calculates which trees to extract based on the ranking of the specified variable and the desired thinning percentage. When grouping variables are provided, thinning is calculated separately for each group.
Using a silviculture::Inventory object
The result of silv_summary() can be used as the data argument. If so, the .groups
will be taken from this object, and it will keep the previous data in a new S7 object.
A silviculture::Thinning object with three items:
data: the input data with two new columns
group_metrics: it will include the data from the silviculture::Inventory object
thinning_opts: options used for S7 methods
silv_summary()
# Get summary of inventory data
inventory <- inventory_samples |>
silv_summary(
diameter = diameter,
height = height,
plot_size = 25,
.groups = c('plot_id', 'species')
)
## Thinning from below removing 30% of trees based on basal area
silv_treatment_thinning(
data = inventory,
var = g_ha,
diameter = dclass,
ntrees = ntrees_ha,
thinning = "below",
perc = 0.3
)
## Thinning from above removing 20% of trees based on basal area
silv_treatment_thinning(
data = inventory,
var = g_ha,
diameter = dclass,
ntrees = ntrees_ha,
thinning = "above",
perc = 0.2
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.