Skip to content

feat: add SDI beta coefficients database and dynamic autoselector#23

Open
aitorvv wants to merge 5 commits into
mainfrom
avv-sdi-by-species
Open

feat: add SDI beta coefficients database and dynamic autoselector#23
aitorvv wants to merge 5 commits into
mainfrom
avv-sdi-by-species

Conversation

@aitorvv

@aitorvv aitorvv commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Este PR añade soporte para el autoselector dinámico de coeficientes beta en el cálculo de Stand Density Index (SDI) a partir del dataset sdi_coefficients, permitiendo el cálculo automatizado en base a la especie, país y región, y cayendo en cascada en diversos fallbacks (regional, nacional, por género y un default absoluto de Reineke 1933). La función para el cálculo del SDI y su documentación ha sido adaptada.

VERIFICATION CODE

Inspect new dataset

devtools::load_all()
str(sdi_coefficients) # tibble with columns: article_id, country, region, species, beta...

Verify auto-selector with exact match (includes Spain and region)

result_exact <- silv_density_sdi_auto(
ntrees = 800,
dg = 23.4,
species = "Pinus sylvestris",
country = "Spain",
region = "Castilla y León"
)
print(result_exact$sdi_model) # must print "del-rio-2006 (Spain, Castilla y León)"
print(result_exact$beta) # must print -1.75
print(result_exact$sdi) # calculated SDI

Verify region fallback

result_region <- silv_density_sdi_auto(
ntrees = 800,
dg = 23.4,
species = "Pinus pinaster",
country = "Spain",
region = "Unknown region"
)
print(result_region$sdi_model) # must print "aguirre-2017 (Spain, all regions)"
print(result_region$beta) # must print -1.9477

Verify default fallback linked to Reineke (1933)

result_default <- silv_density_sdi_auto(
ntrees = 800,
dg = 23.4,
species = "Unknown species"
)
print(result_default$sdi_model) # must print "reineke-1933 (-1.605)"
print(result_default$beta) # must print -1.605

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants