| Title: | A Package for Biometrics and Modelling |
|---|---|
| Description: | A system of functions and datasets to carry out quantitative analyses in the biological sciences. The package facilitates data management, exploratory analyses, and model assessment. Although it currently focuses on forest ecology, silviculture and decision-making, most of the package functions are applicable across several disciplines, including economics, environmental science, and healthcare. |
| Authors: | Christian Salas-Eljatib [aut, cre] (ORCID: <https://orcid.org/0000-0002-8468-0829>), Nicolas Campos [ctb] (ORCID: <https://orcid.org/0009-0001-9534-9808>, since 2025), Marcos Marivil [ctb] (https://biometriaforestal.uchile.cl, since 2025) |
| Maintainer: | Christian Salas-Eljatib <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 1.0.4 |
| Built: | 2026-05-19 09:40:19 UTC |
| Source: | https://github.com/cran/biometrics |
Assigns species botanical attributes to a dataset,
based upon a reference column (refcol). The attributes can be
any of the fields available in the spplist dataframe,
such as: spp.ci.name (genus and epitetus name of the species),
spp.name (common name), and spp.ci.abb
(abbreviated scientific name).
assignspp( data, attri = c("spp.name", "spp.ci.name"), refcol = "sppcode", all.x = TRUE, attri.all = FALSE, ... )assignspp( data, attri = c("spp.name", "spp.ci.name"), refcol = "sppcode", all.x = TRUE, attri.all = FALSE, ... )
data |
A dataframe where to assign the species information. |
attri |
A string vector having the attributes of the species
to be assigned from the species list contained in spplist.
This vector, by default, has two attributes: |
refcol |
A string having the common column name to be used for
linking both the dataset and the species list. In
spplist, all the attributes available for the species
list are detailed, showing all the information that can be joined
to the dataset. Notice that the |
all.x |
Whether to preserve not finded values ( |
attri.all |
By default is set to |
... |
Other options for controlling the |
A dataframe object including the attributes defined in
the parameter attri.
spplist and base::merge().
## example data frame myData <- data.frame(narb = c(1, 2, 3), sppcode = c("nob", "np", "nd"), dbh = c(20, 14, 23)) myData ## assign common, scientific and abbreviated name, based on `esp` value (default) assignspp(myData) ## Assign more than one attribute based on common name ## just to remember, adding a single attribute (different from the default) assignspp(myData, attri = "spp.ci.name") ## now, a more real example newData <- assignspp(myData, attri = c("spp.name","genus","spp.ci.abb")) newData ## by default this function preserve names not found in biometrics::spplist missingData <- rbind(myData, c(4, "notFoundData", 30)) missingData assignspp(missingData, attri = "spp.name") ##the latter can be modified with option `all.x` of the `merge()` function assignspp(missingData, attri = "spp.name", all.x = FALSE) ## In the case of wanting all the attributes to be merged, set option ## `attri.all` to `TRUE`, which willl overwrite the vector `attri`. assignspp(missingData, attri = "spp.name", attri.all=TRUE, all.x = FALSE)## example data frame myData <- data.frame(narb = c(1, 2, 3), sppcode = c("nob", "np", "nd"), dbh = c(20, 14, 23)) myData ## assign common, scientific and abbreviated name, based on `esp` value (default) assignspp(myData) ## Assign more than one attribute based on common name ## just to remember, adding a single attribute (different from the default) assignspp(myData, attri = "spp.ci.name") ## now, a more real example newData <- assignspp(myData, attri = c("spp.name","genus","spp.ci.abb")) newData ## by default this function preserve names not found in biometrics::spplist missingData <- rbind(myData, c(4, "notFoundData", 30)) missingData assignspp(missingData, attri = "spp.name") ##the latter can be modified with option `all.x` of the `merge()` function assignspp(missingData, attri = "spp.name", all.x = FALSE) ## In the case of wanting all the attributes to be merged, set option ## `attri.all` to `TRUE`, which willl overwrite the vector `attri`. assignspp(missingData, attri = "spp.name", attri.all=TRUE, all.x = FALSE)
Function of the asymptotic regression model, based upon its parameters and a variable, as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
asymreg.fx(x, alpha, beta, upsilon = 0)asymreg.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Pinheiro JC, DM Bates. 2000. Mixed-effects Models in S and Splus. New York, USA. Springer-Verlag. 528 p.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
#--------------------- # 2-parameters variant # Predictor variable values to be used time<-seq(0,50,by=0.1) # Using the function, upsilon must be provided y<-asymreg.fx(x=time,alpha=20,beta=2.5,upsilon =5) plot(time,y,type="l",ylim=c(0,20))#--------------------- # 2-parameters variant # Predictor variable values to be used time<-seq(0,50,by=0.1) # Using the function, upsilon must be provided y<-asymreg.fx(x=time,alpha=20,beta=2.5,upsilon =5) plot(time,y,type="l",ylim=c(0,20))
Function that fits a list of models on a given dataframe.
bankfit(modlist, data, file = NULL, file.full = FALSE, trace = FALSE, ...)bankfit(modlist, data, file = NULL, file.full = FALSE, trace = FALSE, ...)
modlist |
List that contains the models to be fitted. To know the structure, see examples below. |
data |
|
file |
a (writable binary-mode) connection or the name of the file where the data will be saved (when tilde expansion is done). |
file.full |
wheter to include all output ( |
trace |
logical value indicating if a trace of the iteration
progress of |
... |
Other options used to control de behavior of
|
model.list <- list( mod1 = list(expr = vtot ~ I(dap^2) + I(dap^2 * atot^2) +I(d6), pred.f = function(x, ...) x, type = "lm"), mod2 = list(expr = I(log(vtot)) ~ I(log(dap)) + I(log(atot)), pred.f = function(x, ...) exp(x), type = "lm")) ## example dataframe df <- treevolruca2 head(df) ## fitting models to dataframe bankfit(modlist = model.list, data = df)model.list <- list( mod1 = list(expr = vtot ~ I(dap^2) + I(dap^2 * atot^2) +I(d6), pred.f = function(x, ...) x, type = "lm"), mod2 = list(expr = I(log(vtot)) ~ I(log(dap)) + I(log(atot)), pred.f = function(x, ...) exp(x), type = "lm")) ## example dataframe df <- treevolruca2 head(df) ## fitting models to dataframe bankfit(modlist = model.list, data = df)
The function predicts the variable of biometrics-interest for each model belonging to the list previously fitted, as well as, generates a dataframe with the results.
bankpred( file = stop("You must provide a bankfit output object"), data = stop("You must provide a dataframe") )bankpred( file = stop("You must provide a bankfit output object"), data = stop("You must provide a dataframe") )
file |
The output from |
data |
A dataframe for the prediction of the response
variable's values using the models fitted in |
## Not run: ## list of example models model.list <- list( mod1 = list(expr = vtot ~ I(dap^2) + I(dap^2 * atot^2) +I(d6), pred.f = function(x, ...) x, summodel = function(x, ...) datana::modresults(x)), mod2 = list(expr = I(log(vtot)) ~ I(log(dap)) + I(log(atot)), pred.f = function(x, ...) exp(x), summodel = function(x, ...) datana::modresults(x))) ## example dataframe df <- treevolruca2 head(df) ## fitting models to dataframe and saving them bankfit(models = model.list, data = df, file = "out.rdata") ## using fitted models file from biometrics::bankfit() bankpred(file = "out.rdata", data = df) ## End(Not run)## Not run: ## list of example models model.list <- list( mod1 = list(expr = vtot ~ I(dap^2) + I(dap^2 * atot^2) +I(d6), pred.f = function(x, ...) x, summodel = function(x, ...) datana::modresults(x)), mod2 = list(expr = I(log(vtot)) ~ I(log(dap)) + I(log(atot)), pred.f = function(x, ...) exp(x), summodel = function(x, ...) datana::modresults(x))) ## example dataframe df <- treevolruca2 head(df) ## fitting models to dataframe and saving them bankfit(models = model.list, data = df, file = "out.rdata") ## using fitted models file from biometrics::bankfit() bankpred(file = "out.rdata", data = df) ## End(Not run)
The function creates a barplot of numeric vector by one or two factor.
barplotgr( yvar, factors, data = data, percentage = FALSE, errbar = !percentage, half.errbar = TRUE, conf.level = 0.95, xlab = NULL, ylab = NULL, main = NULL, names.arg = NULL, bar.col = "black", whisker = 0.015, args.errbar = NULL, legend = TRUE, legend.text = NULL, args.legend = NULL, legend.border = FALSE, box = TRUE, args.yaxis = NULL, mar = c(5, 4, 3, 2), ... )barplotgr( yvar, factors, data = data, percentage = FALSE, errbar = !percentage, half.errbar = TRUE, conf.level = 0.95, xlab = NULL, ylab = NULL, main = NULL, names.arg = NULL, bar.col = "black", whisker = 0.015, args.errbar = NULL, legend = TRUE, legend.text = NULL, args.legend = NULL, legend.border = FALSE, box = TRUE, args.yaxis = NULL, mar = c(5, 4, 3, 2), ... )
yvar |
The column having the variable to represent the height of the bars. |
factors |
A vector having the columns with the factors to be used in the resulting plot. Notice that the last listed factor, will be used in X-axis plot. |
data |
A data frame having the above described columns. |
percentage |
Logical value, set to |
errbar |
Please set this option to |
half.errbar |
Optional, default set to |
conf.level |
Optional, a numeric value for the confidence interval, the default is 0.95. |
xlab |
Optional, as in the generic barplot function. |
ylab |
Optional, as in the generic barplot function. |
main |
Optional, as in the generic barplot function. |
names.arg |
Optional, as in the generic barplot function. |
bar.col |
Optional, as in the generic barplot function. |
whisker |
Optional, A numeric value, the default is 0.015. |
args.errbar |
Optional, as in the generic barplot function. |
legend |
Optional, as in the generic barplot function. |
legend.text |
Optional, as in the generic barplot function. |
args.legend |
Optional, as in the generic barplot function. |
legend.border |
Optional, as in the generic barplot function. |
box |
Optional, as in the generic barplot function. |
args.yaxis |
Optional, as in the generic barplot function. |
mar |
Optional, as in the generic barplot function. |
... |
list of columns to sort on |
The function returns the above described graph.
Christian Salas-Eljatib
The present function was modified from a similar one available at https://github.com/mrxiaohe/R_Functions/blob/master/functions/bar
data(standtabRauli2) df <- standtabRauli2 head(df) barplotgr(yvar = nha.cd, factors = c(bosque.id,cd), data = df, errbar = FALSE, ylim=c(0, 640))data(standtabRauli2) df <- standtabRauli2 head(df) barplotgr(yvar = nha.cd, factors = c(bosque.id,cd), data = df, errbar = FALSE, ylim=c(0, 640))
Function of the Bertalanffy-Richards model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients).
bertarich.fx(x, alpha, beta, gamma, upsilon = 0)bertarich.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Richards FJ. 1959. A flexible growth function for empirical use. J. of Experimental Botany 10(29):290-300.
von Bertalanffy L. 1957. Quantitative laws in metabolism and growth. The Quarterly Review of Biology 32(3):217-231.
Salas-Eljatib C. 2020. Height growth-rate at a given height: a mathematical perspective for forest productivity. Ecological Modelling 431:109198. doi:10.1016/j.ecolmodel.2020.109198 https://eljatib.com/myPubs/2020hgrate_ecoModelling.pdf
Salas-Eljatib C, Mehtatalo L, Gregoire TG, Soto DP, Vargas-Gaete R. 2021. Growth equations in forest research: mathematical basis and model similarities. Current Forestry Reports 7:230-244. doi:10.1007/s40725-021-00145-8
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-bertarich.fx(x=time,alpha=23,beta=0.08,gamma=0.89) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-bertarich.fx(x=time,alpha=23,beta=0.08,gamma=0.89) plot(time,y,type="l")
Tree taper equation proposed by Biging (1984), that depends on model parameters and tree size variables: diameter, total height, and stem height. The mathematical model is:
where: is the stem diameter at stem-height for the
i-th tree; and are the tree-level variables diameter
at breast height and total height, respectively, and
biging.fx(d, hl, h, paramod)biging.fx(d, hl, h, paramod)
d |
is the diameter at breast height (1.3 m) of the tree. The measurement unit is cm in the metric system, but ultimately it will depend on how the model was previously fitted, because of the measurement unit of the variables included. |
hl |
hl is stem height within the tree, thus |
h |
is total height of the tree. |
paramod |
paramod is a vector having the coefficients of the
model in the following order: |
Returns the diameter of the stem at the stem-height , thus
, for the Biging (1984) functional form, based upon tree
diameter and total height .
Biging GS. 1984. Taper equations for second-growth mixed conifers of northern California. Forest Science 30(4): 1103–1117. doi:10.1093/forestscience/30.4.1103
## Parameters b0 <- 1.016215 b1 <- 0.332529 coefs <- c(b0, b1) ## Tree attributes dbh <- 40 toth <- 25 ## Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- biging.fx(d = dbh, h = toth, hl = hl.int, paramod=coefs) cbind(hl.int, dl.hat)## Parameters b0 <- 1.016215 b1 <- 0.332529 coefs <- c(b0, b1) ## Tree attributes dbh <- 40 toth <- 25 ## Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- biging.fx(d = dbh, h = toth, hl = hl.int, paramod=coefs) cbind(hl.int, dl.hat)
These are tree-level variables for four species in Canada.
biomassbiomass
Data contain the following columns:
Tree number code.
Species common name, as follows: Balsam fir is
Abies balsamea, Black spruce is Picea mariana,
White birch is Betula papyrifera, and White spruce
is Picea glauca.
Diameter at breast height, in cm.
Total height, in m.
Total biomass, in kg.
Stem biomass, in kg.
Branches biomass, in kg.
Foliage biomass, in kg.
Data were provided by Prof. Timothy Gregoire, School of Forestry and Environmental Studies, Yale University (New Haven, CT, USA).
data(biomass) head(biomass) tapply(biomass$totbiom,biomass$spp,summary)data(biomass) head(biomass) tapply(biomass$totbiom,biomass$spp,summary)
Biomasa a nivel de árbol y otras variables, para cuatro especies que crecen en bosques de Canadá.
biomass2biomass2
Los datos contienen las siguientes columnas:
Número del árbol.
Nombre común de la especie, como sigue: Balsam fir es
Abies balsamea, Black spruce es Picea mariana,
White birch es Betula papyrifera, y White spruce
es Picea glauca.
Diámetro a la altura del pecho (1.3 m), en cm.
Altura total, en m.
Biomasa total, en kg.
Biomasa del fuste, en kg.
Biomasa de las ramas, en kg.
Biomasa del follaje, en kg.
Los datos fueron cedidos cortesía del profesor Timothy Gregoire, School of Forestry and Environmental Studies, Yale University (New Haven, CT, USA).
data(biomass2) head(biomass2) tapply(biomass2$wtot,biomass2$spp,summary)data(biomass2) head(biomass2) tapply(biomass2$wtot,biomass2$spp,summary)
Performs the cubication of taper data. If the data
corresponds to a full tree, and pred == FALSE the calculation is
performed as a cilinder for the stump, smalian for each section in
the stem and a cone for the crown. Otherwise, just smalian is used
and a sum is performed up to the corresponding heights.
cubica( dl, hl, hstump = NA, htop = NA, dlu = NA, hlu = NA, full.tree = TRUE, pred = FALSE, rel.vol = c(25, 30, 40, 50, 90), ... )cubica( dl, hl, hstump = NA, htop = NA, dlu = NA, hlu = NA, full.tree = TRUE, pred = FALSE, rel.vol = c(25, 30, 40, 50, 90), ... )
dl |
|
hl |
|
hstump |
a numeric value indicating the stump height. If
missing and |
htop |
a numeric value indicating the height to crown base. If
missing and |
dlu |
numeric values indicating comercial diameters. If the values doesn't exists in the data they are interpolated via datana::interp. |
hlu |
numeric values indicating comercial heights. If the values doesn't exists in the data they are interpolated via datana::interp. |
full.tree |
wheter the data comes from a full tree having
stump, stemp and crown ( |
pred |
wheter the data comes from measured data ( |
rel.vol |
numerical values of relative volumes, used to compute the corresponding height and diameter. |
... |
optional parameters to pass to |
A list with data.frames with the different volumes calculated.
Christian Salas-Eljatib and Nicolás Campos
## Not run: ## generating suitable data df <- data.frame(dl = c(31.1, 25.8, 21.2, 19.6, 17.9, 15.9, 13.5, 9.8, 7.3, 0), hl = c(0.30, 0.80, 1.30, 4.88, 9.76, 12.20, 14.64, 19.52, 24.40, 31.1), hstump = c(0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30), htop = c(24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40)) df cubica(dl = df$dl, hl = df$hl, hstump = unique(df$hstump), htop = unique(df$htop)) ## adding commercial volumes cubica(dl = df$dl, hl = df$hl, dlu = c(20, 15, 21.2), hstump = unique(df$hstump), htop = unique(df$htop)) ## End(Not run)## Not run: ## generating suitable data df <- data.frame(dl = c(31.1, 25.8, 21.2, 19.6, 17.9, 15.9, 13.5, 9.8, 7.3, 0), hl = c(0.30, 0.80, 1.30, 4.88, 9.76, 12.20, 14.64, 19.52, 24.40, 31.1), hstump = c(0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30, 0.30), htop = c(24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40, 24.40)) df cubica(dl = df$dl, hl = df$hl, hstump = unique(df$hstump), htop = unique(df$htop)) ## adding commercial volumes cubica(dl = df$dl, hl = df$hl, dlu = c(20, 15, 21.2), hstump = unique(df$hstump), htop = unique(df$htop)) ## End(Not run)
Function of the traditional Curtis' allometric model, based upon two parameters, and a single predictor variable as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients).
curtis.fx(x, alpha, beta, upsilon = 0)curtis.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Curtis RO. 1967. Height-diameter and height-diameter-age equations for second-growth Douglas-fir. Forest Sci. 13(4):365-375.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-curtis.fx(x=time,alpha=20,beta=8) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-curtis.fx(x=time,alpha=20,beta=8) plot(time,y,type="l")
Function of the originally proposed allometric model by Curtis, based upon two parameters, and a single predictor variable as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients). Please read the
details on this model in Salas-Eljatib (2025).
curtisori.fx(x, alpha, beta, upsilon = 0)curtisori.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Curtis RO. 1967. Height-diameter and height-diameter-age equations for second-growth Douglas-fir. Forest Sci. 13(4):365-375.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Parameters # Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-curtisori.fx(x=time,alpha=20,beta=8) plot(time,y,type="l")# Parameters # Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-curtisori.fx(x=time,alpha=20,beta=8) plot(time,y,type="l")
These are log-level variables measured in the field in a single line intersect sampling (LIS) unit. The length of the line or transect is 30 m. Details on this type of sampling strategy can be reviewed in Gregoire and Valentine (2008).
cwdcwd
Data contains the following columns:
Element (i.e., log) number with the LIS sample.
Diameter of the element, in cm.
Length, in m.
Angle of the element with respect to the line sampling, in degrees.
Data from Marshall et al 2000.
Marshall PL, G Davis, VM LeMay. 2000. Using line intersect sampling for coarse woody debris. Technical Report 3, British Columbia Forest Service, Nanaimo, BC, Canada. 34 p.
Gregoire TG, HT Valentine. 2008. Sampling Strategies for Natural Resources and the Environment. New York, USA. Chapman & Hall/CRC. 474 p.
data(cwd) cwddata(cwd) cwd
Son variables medidas a nivel de trozo en la unidad de muestreo (LIS). El largo de la línea de muestreo o transecto es de 30 m. Detalles sobre este tipo de estrategia de muestreo se pueden revisar en Gregoire and Valentine (2008).
cwd2cwd2
Data contiene las siguientes columnas:
Número del elemento (i.e., trozo) medido dentro de la muesta de LIS.
Diámetro en la mitad del elemento, en cm.
Largo, en m.
Ángulo de intersección del elemento con la línea de muestreo LIS, en grados.
Datos digitados desde Marshall et al (2000).
Marshall PL, G Davis, VM LeMay. 2000. Using line intersect sampling for coarse woody debris. Technical Report 3, British Columbia Forest Service, Nanaimo, BC, Canada. 34 p.
Gregoire TG, HT Valentine. 2008. Sampling Strategies for Natural Resources and the Environment. New York, USA. Chapman & Hall/CRC. 474 p.
data(cwd2) cwd2data(cwd2) cwd2
This study is part of the project "Diversity and dynamics of vascular
epiphytes in Colombian Andes"
supported by COLCIENCIAS (contract 2115-2013). The data corresponds to
the first large-scale
assessment of vascular epiphyte mortality in the neotropics. Based on two
consecutive annual surveys,
we followed the fate of 4247 epiphytes to estimate the epiphyte mortality
rate on 116 host trees
at nine sites. Additional variables were taken from the area of study in
order to find relationships
with epiphyte mortality.
data(deadlianas)data(deadlianas)
The data frame contains four variables as follows:
Municipality name of the 9 study sites
Latitude of the plot in decimal degrees
Longitude of the plot in decimal degrees
ID number of the sampled host trees in each site
Epiphyte taxonomic family
Epiphyte taxonomic genus
Abbreviations of Latin terms in the context of taxonomy. cf. "confer" meaning "compare with". aff.: "affinis" meaning "similar to".
Epiphyte (morpho) species name
Author of the scientific name
Azimuth of the epiphyte individual on each host tree
Azimuth of the branch in which the epiphyte individual was found
Distance in meters from the trunk to the epiphyte attachment site on a branch
Estimated size of the epiphyte individual, in cm.
Epiphyte attachment height in meters
Date of the first census
Date of the final census
Section (roots, trunks, branches) of the host tree in which theepiphyte individual was found
Dichotomous variable. 0 if the epiphyte individual was dead in the final census and 1 if otherwise
Mechanical or non-mechanical cause of mortality
Elevation (m a.s.l.) of the plot
Annual precipitation in the plot (mm yr-1)
Precipitation of driest month in the plot (mm)
Precipitation seasonality in the plot (coefficient of variation)
Mean Diurnal Range (Mean of monthly (max temp - min temp)) in the plot (oC * 10)
Temperature seasonality in the plot (standard deviation * 100)
Annual temperature range in the plot (10 celsius degrees)
Actual evapotranspiration in the plot (mm yr-1)
Basal area of trees with DBH major or equal to 5 cm (AB) in
the plot (m/ha)
Basal area of trees with greater or equal than 5 DBH and
less than 10 cm in the plot (m/ha)
Basal area of trees with greater or equal than 10 cm DBH in
the plot (m/ha)
Number of canopy trees (with greater or equal than 10 cm DBH ) in the plot
Number of understory trees (with greater or equal than 5 DBH and less than 10 cm) in the plot
Number of trees with greater or equal than 5 DBH and less than 10 cm in the plot
Number of trees with greater or equal than 10 DBH and less than 15 cm in the plot
Number of trees with greater or equal than 15 DBH and less than 20 cm in the plot
Number of trees with greater or equal than 20 DBH and less than 25 cm in the plot
Number of trees with greater or equal than 25 DBH and less than 30 cm in the plot
Number of trees with DBH major or equal to 30 cm in the plot
Total tree height in meters
Median height of trees in each plot
Maximum height of trees in each plot
Number of branches of the host tree
Observations and notes in Spanish
Data were retrieved from the DRYAD repository at doi:10.5061/dryad.g5510.
Zuleta D, Benavides AM, Lopez-Rios V, Duque A. 2016. Local and regional determinants of vascular epiphyte mortality in the Andean mountains of Colombia. Journal of Ecology 104(3): 841-843. doi:10.1111/1365-2745.12563
data(deadlianas) head(deadlianas)data(deadlianas) head(deadlianas)
Los datos provienen de un estudio que fue parte del proyecto "Diversidad y dinámica de epífitas vasculares en los Andes colombianos". apoyado por COLCIENCIAS (contrato 2115-2013). Este conjunto de datos tiene 43 columnas y 4247 filas. Cada fila corresponde a un individuo epifito ubicado en secciones confiables de los árboles hospedantes Los datos corresponden a la primera gran escala evaluación de la mortalidad de epífitas vasculares en los neotrópicos. Basado en dos encuestas anuales consecutivas, Seguimos el destino de 4247 epífitas para estimar la tasa de mortalidad de epífitas en 116 árboles hospedantes. en nueve sitios. Se tomaron variables adicionales del area de estudio para encontrar relaciones con mortalidad de epifitas.
data(deadlianas2)data(deadlianas2)
Variables se describen a continuación::
Nombre del municipio de los 9 sitios de estudio.
Latitud del grafico en grados decimales.
Longitud de la grafica en grados decimales.
número de identificacion de los árboles hospedantes muestreados en cada sitio
Familia taxonomica de epifitas.
Genero taxonomico de epifitas.
Abreviaturas de terminos latinos en el contexto de la taxonomia. cf. "conferir" que significa "comparar con". aff .: "affinis" que significa "similar a".
Nombre de la especie epifita (morfo)
Autor del nombre científico.
Azimut del individuo epifito en cada árbol huesped.
Azimut de la rama en la que se encontro el individuo epifito.
Distancia en metros desde el tronco hasta el sitio de union de la epifita en una rama.
Tamaño estimado del individuo epifito en centimetros.
Altura del accesorio de la epifita en metros.
Fecha del primer censo.
Fecha del censo final.
Seccion (raices, troncos, ramas) del árbol anfitrion en el que se encontro el individuo epifito.
Variable dicotomica. 0 si el individuo epifito estaba muerto en el censo final y 1 si no.
Causa de mortalidad mecanica o no mecánica.
Elevacion (msnm) de la parcela.
Precipitación anual en la parcela, en mm.
Precipitación del mes más seco en la parcela, en mm.
Estacionalidad de la precipitacion en la parcela (coeficiente de variacion)
Rango diurno medio (Media mensual (temperatura maxima - temperatura minima)) en la grafica (10°C)
Estacionalidad de la temperatura en la grafica (desviacion estandar * 100)
Rango de temperatura anual en la parcela (10 grados centigrados)
Evapotranspiración anual en la parcela, en mm.
Area basal de árboles con DAP mayor o igual a 5 cm en
la parcela, en m/ha.
Area basal de árboles con DAP mayor o igual a 5 y
menor a 10 cm en la parcela (m/ha)
Area basal de árboles con DAP mayor o igual a 10 cm en
la parcela (m/ha)
Número de árboles del dosel (con un DAP superior o igual a 10 cm) en la parcela
Número de árboles de sotobosque (con DAP mayor o igual a 5 y menor a 10 cm) en la parcela
Número de árboles con un DAP mayor o igual a 5 y menos de 10 cm en la parcela
Número de árboles con un DAP mayor o igual a 10 y menos de 15 cm en la parcela
Número de árboles con un DAP mayor o igual a 15 y menos de 20 cm en la parcela
Número de árboles con un DAP mayor o igual a 20 y menos de 25 cm en la parcela
Número de árboles con un DAP mayor o igual a 25 y menos de 30 cm en la parcela
Número de árboles con DAP mayor o igual a 30 cm en la parcela
Altura total del árbol en metros
Altura media de los árboles en cada parcela
Altura maxima de los árboles en cada parcela
Número de ramas del árbol anfitrion
Observaciones y notas en español
Los datos fueron obtenidos desde el repositorio DRYAD doi:10.5061/dryad.g5510.
Zuleta D, Benavides AM, Lopez-Rios V, Duque A. 2016. Local and regional determinants of vascular epiphyte mortality in the Andean mountains of Colombia. Journal of Ecology 104(3): 841-843. doi:10.1111/1365-2745.12563
data(deadlianas2) head(deadlianas2)data(deadlianas2) head(deadlianas2)
Function to compute the diameter of the tree of average basal
area (),
which depends on stand density () and stand basal area ().
The aforementioned stand diameter is computed as
where the constant depends on whether the variables are in the
units of measurement of the metric or imperial system.
dg.fx(n = n, g = g, metrics = TRUE)dg.fx(n = n, g = g, metrics = TRUE)
n |
is stand tree density. By default the unit of measurement
is trees/ha, but if the option 'metrics' is set to |
g |
is stand basal area. By default the unit of measurement
must be entered in m |
metrics |
is a logic value, the default is set to |
Returns the diameter of the tree of average basal area.
Christian Salas-Eljatib.
##Using the function dg.fx(n=1000, g=55) dg.fx(n=210, g=160, metrics=FALSE)##Using the function dg.fx(n=1000, g=55) dg.fx(n=210, g=160, metrics=FALSE)
Computes the so-called dominant stand-level variable,
corresponding to the average of a tree-level variable for
the nref.ha largest sorting-tree-level diameter trees in 1-ha.
domvar(data, varint, varsort, plot.area, ndom.ha = 100)domvar(data, varint, varsort, plot.area, ndom.ha = 100)
data |
the tree-list dataframe of a sample plot, having
at least column |
varint |
The column name of the data having the tree-level variable of interest (e.g., "toth"). Can be entered as the actual name, without the need of using quotation marks. |
varsort |
The column name of the data having the tree-level variable
to be used as reference (e.g., "dbh") for defining the sorting variable
of interest. If there is only data for the |
plot.area |
A numeric value of the plot area in m |
ndom.ha |
It is the number of trees/ha used as reference. By default |
The original function was written by Dr Oscar García for computing top height, and the corresponding reference is provided. Nevertheless, several changes were applied, to make the current function provide a broader application. Regardless, the function aims to calculate a "dominant" stand-level variable by taking into account the plot area. Thus, requires having a dataframe having both the variable of interest (e.g., height) and the sorting variable used for the computation (e.g., diameter) for all trees in a sample plot, as well as, the plot area.
The main output is the calculated dominant stand-variable for the given sample plot. The unit of the computed variable is the same as the one used as variable of interest.
Christian Salas-Eljatib.
García O, Batho A. 2005. Top height estimation in lodgepole pine sample plots. Western Journal of Applied forestry 20(1):64-68.
# Dataframe to be used df<-biometrics::eucaplot2 #' ?eucaplot2 #' head(df) datana::descstat(df[,c("dap","atot")]) #' # Using the domvar function domvar(data=df,varint = "atot",varsort = "atot",plot.area = 500) domvar(data=df,varint = "atot",varsort = "dap",plot.area = 500) domvar(data=df,varint = "atot",varsort = "dap",plot.area = 500,ndom.ha = 50)# Dataframe to be used df<-biometrics::eucaplot2 #' ?eucaplot2 #' head(df) datana::descstat(df[,c("dap","atot")]) #' # Using the domvar function domvar(data=df,varint = "atot",varsort = "atot",plot.area = 500) domvar(data=df,varint = "atot",varsort = "dap",plot.area = 500) domvar(data=df,varint = "atot",varsort = "dap",plot.area = 500,ndom.ha = 50)
Tree-level variables collected for all trees (even the variable height)
within a sample plot in a forestry plantation of Eucalyptus globulus near
Gorbea, southern Chile. The plot size is 500 m.
The plantation is 15 yr-old and had been subject to three thinnings.
data(eucaplot)data(eucaplot)
The dataframe contains four variables as follows:
Diameter at breast height, in cm.
health status (1: good, 2: medium, 3: bad).
stem shape for timber purposes (1: good, 2: medium, 3: bad).
Crown class (1: superior, 2: intermedium, 3: lower).
Total height, in m.
The data were provided courtesy of Dr Christian Salas-Eljatib (Universidad de Chile, Santiago, Chile).
Forest biometrics lecture notes, Prof. Christian Salas-Eljatib, Universidad de Chile. Santiago, Chile
data(eucaplot) table(eucaplot$health) library(datana) descstat(eucaplot[,c("dbh","toth")])data(eucaplot) table(eucaplot$health) library(datana) descstat(eucaplot[,c("dbh","toth")])
Variables a nivel individual medidas en todos los árboles
(incluso la variable altura) encontrados en una parcela de
muestreo en una plantación forestal de Eucalyptus globulus cerca de
Gorbea, en el sur de Chile. La superficie de la parcela es
de 500 m. La plantación tiene 15 años de edad y
ha estado sujeta a tres raleos.
data(eucaplot2)data(eucaplot2)
Los datos contienen las siguientes cuatro columnas:
Diámetro a la altura del pecho, en cm.
Evaluación cualitativa de la sanidad del árbol (1: buena, 2: media, 3: mala).
Evaluación cualtitativa de la forma del fuste (1: buena, 2: media, 3: mala).
Clase de copa (1: superior, 2: intermedio, 3: inferior).
Altura total, en m.
Los datos fueron cedidos por el Prof. Christian Salas (Universidad de Chile, Santiago, Chile), y colectados por él mientras fue Profesor del Departamento de Ciencias Forestales en la Universidad de La Frontera (Temuco, Chile). La plantación se encontraba dentro de un predio del colega (QEPD) Hugo Castro.
Apuntes de Biometría y Modelación Forestal, Prof. Christian Salas-Eljatib, Universidad de Chile. Santiago, Chile
data(eucaplot2) table(eucaplot$forma) library(datana) descstat(eucaplot2[,c("dap","atot")])data(eucaplot2) table(eucaplot$forma) library(datana) descstat(eucaplot2[,c("dap","atot")])
Tree-level variables collected in a sample plot (area=500 m)
in a forestry plantation of Eucalyptus globulus near Gorbea, in southern
Chile. The variable height, was only measured in a sub-sample of
trees within the plot. The plantation is 15 yr-old and had been subject to
three thinnings.
data(eucaplotr)data(eucaplotr)
The dataframe contains four variables as follows:
Diameter at breast height, in cm.
health status (1: good, 2: medium, 3: bad).
stem shape for timber purposes (1: good, 2: medium, 3: bad).
Crown class (1: superior, 2: intermedium, 3: lower).
Total height (in m), only available for some trees.
Otherwise missing values are denoted by NA.
The data were provided courtesy of Dr Christian Salas-Eljatib (Universidad de Chile, Santiago, Chile).
Forest biometrics lecture notes, Prof. Christian Salas-Eljatib, Universidad de Chile. Santiago, Chile
data(eucaplotr) table(eucaplotr$shape) library(datana) descstat(eucaplotr[,c("dbh","toth")])data(eucaplotr) table(eucaplotr$shape) library(datana) descstat(eucaplotr[,c("dbh","toth")])
Variables a nivel individual medidas en los árboles encontrados en una
parcela de muestreo (de 500 m) en una plantación forestal
de Eucalyptus globulus, cerca de Gorbea (Sur de Chile). La variable
altura fue medida solo en una sub-muestra de árboles. La plantación
tiene 15 años de edad y ha estado sujeta a tres raleos. Este set de datos
es similar al de la dataframe eucaplot2, pero siendo más realista en el
sentido que no es comun que la altura se mida en todos los árboles como
es el caso de los dataframe eucaplot2.
data(eucaplotr2)data(eucaplotr2)
Los datos contienen las siguientes cuatro columnas:
Diámetro a la altura del pecho, en cm.
Evaluación cualitativa de la sanidad del árbol (1: buena, 2: media, 3: mala).
Evaluación cualtitativa de la forma del fuste (1: buena, 2: media, 3: mala).
Clase de copa (1: superior, 2: intermedio, 3: inferior).
Altura total, en m. Esta variable fue medida solo en
una submuestra de árboles, y los registros vacíos estan denotados por
NA.
Los datos fueron cedidos por el Prof. Christian Salas-Eljatib (Universidad de Chile, Santiago, Chile), y colectados por él mientras fue Profesor del Departamento de Ciencias Forestales en la Universidad de La Frontera (Temuco, Chile). La plantación se encontraba dentro de un predio del colega (QEPD) Hugo Castro.
Forest biometrics lecture notes, Prof. Christian Salas-Eljatib, Universidad de Chile. Santiago, Chile
data(eucaplotr2) table(eucaplotr2$sanidad) library(datana) descstat(eucaplotr2[,c("dap","atot")])data(eucaplotr2) table(eucaplotr2$sanidad) library(datana) descstat(eucaplotr2[,c("dap","atot")])
Function of the generalized-exponential allometric model, based upon four parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
expogral.fx(x, alpha, beta, gamma, delta, upsilon = 0)expogral.fx(x, alpha, beta, gamma, delta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
delta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-expogral.fx(x=time,alpha=3,beta=8,gamma=1,delta=1) plot(time,y,type="l",col="blue")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-expogral.fx(x=time,alpha=3,beta=8,gamma=1,delta=1) plot(time,y,type="l",col="blue")
Function of the fully generalized-exponential allometric model, based upon five parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
expogralfull.fx(x, alpha, beta, gamma, delta, epsilon, upsilon = 0)expogralfull.fx(x, alpha, beta, gamma, delta, epsilon, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
delta |
is the coefficient-parameter |
epsilon |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-expogralfull.fx(x=time,alpha=20,beta=.1,gamma=10,delta=1, epsilon=1) plot(time,y,type="l",col="red")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-expogralfull.fx(x=time,alpha=20,beta=.1,gamma=10,delta=1, epsilon=1) plot(time,y,type="l",col="red")
Function of the Gompertz model, depending on its three parameters and a variable, defined by the following mathematical expression
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients).
gompertz.fx(x, alpha, beta, gamma, upsilon = 0)gompertz.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Gompertz B. 1825. On the nature of the function expressive of the law of human mortality, and on a new mode of determining the value of life contingencies. Philosophical Transactions of the Royal Society of London 115:513–583.
Salas-Eljatib C, Mehtatalo L, Gregoire TG, Soto DP, Vargas-Gaete R. 2021. Growth equations in forest research: mathematical basis and model similarities. Current Forestry Reports 7:230-244. doi:10.1007/s40725-021-00145-8
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-gompertz.fx(x=time,alpha=25,beta=.22,gamma=16) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-gompertz.fx(x=time,alpha=25,beta=.22,gamma=16) plot(time,y,type="l")
Function of the Gompertz modified model, based upon parameters (i.e., coefficients) and a variable, as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients). The Gompertz
equation is a widely used allometric mathematical function.
gompertzm.fx(x, alpha, beta, gamma, upsilon = 0)gompertzm.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Gompertz B. 1825. On the nature of the function expressive of the law of human mortality, and on a new mode of determining the value of life contingencies. Philosophical Transactions of the Royal Society of London 115:513–583.
Salas-Eljatib C, Mehtatalo L, Gregoire TG, Soto DP, Vargas-Gaete R. 2021. Growth equations in forest research: mathematical basis and model similarities. Current Forestry Reports 7:230-244. doi:10.1007/s40725-021-00145-8
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-gompertzm.fx(x=time,alpha=25,beta=3.6,gamma=0.17) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-gompertzm.fx(x=time,alpha=25,beta=3.6,gamma=0.17) plot(time,y,type="l")
The function computes the basal area of a tree (),
which only depends on its diameter at breast-height ().
The basal area of a tree is computed as
where the constant depends on whether the diameter
and the resulting basal area are in the units of
the metric or imperial system.
gtree(x, metric = TRUE)gtree(x, metric = TRUE)
x |
is the object (i.e., vector or scalar) having tree diameter. By default the function assumes that the unit of measurement of this variable is cm. |
metric |
is a logic value, the default is to |
The value of basal area in m or in ft,
depending on the units of measurement being defined.
Christian Salas-Eljatib
#Using the function gtree(40) gtree(x=30) gtree(x=11.81,metric=FALSE)#Using the function gtree(40) gtree(x=30) gtree(x=11.81,metric=FALSE)
Tree size, competition, and diameter growth increment of
Metrosideros polymorpha trees collected in the Kilauea Volcano, Hawaii.
Data containing 64 observations at the current annual growth
rate (defined as dbh increment within one calendar year) of each tree.
Measurements were made from 1986 to 1988.
data(hawaii)data(hawaii)
The dataframe has the following columns:
Tree number identification. The first letter of the ID represents a cohort. Six cohorts representing a chronosequence were sampled.
Diameter at breast height, in cm.
Total height, in m.
Crown outline area, in square meters.
Competition index (Basal area of nearest neighbor divided by square of distance to nearest neighbor plus basal area of second nearest neighbor divided by square of distance to second nearest neighbor).
Current annual stem diameter increment during 1986, in mm.
Current annual stem diameter increment during 1987, in mm.
Current annual stem diameter increment during 1988, in mm.
The data were obtained from Gerrish and Mueller-Dombois (1999).
Gerrish G, Mueller-Dombois D. 1999. Measuring stem growth rates for determining age and cohort analysis of a tropical evergreen tree. Pacific Science. 53(4): 418-429.
data(hawaii) head(hawaii)data(hawaii) head(hawaii)
Tamaño del árbol, competencia, e incremento corriente anual de árboles de
Metrosideros polymorpha colectado en el volcán Kilauea, Hawaii.
Los datos contienen 64 observaciones de incremento corriente anual
(definido como el incremento en dap en un año calendario) de cada
árbol. Estos incrementos fueron medidos desde el año 1986 a 1988.
data(hawaii)data(hawaii)
Estos datos contienen las siguientes columnas:
Código identificador del árbol. La primera letra del ID representa una cohorte. Hay seis cohortes que representan una cronosecuencia.
Diámetro a la altura del pecho, en cm.
Altura total, en m.
Área de copa, en metros cuadrados.
Índice de competencia (Área basal del vecino más cercano dividido por la distancia al vecino más cercano al cuadrado más el área basal del segundo vecino más cercano dividio por la distancia al segundo vecino más cercano al cuadrado)
Incremento corriente anual durante el año 1986, en mm.
Incremento corriente anual durante el año 1987, en mm.
Incremento corriente anual durante el año 1988, en mm.
Los datos fueron obtenidos desde Gerrish and Mueller-Dombois (1999).
Gerrish G, Mueller-Dombois D. 1999. Measuring stem growth rates for determining age and cohort analysis of a tropical evergreen tree. Pacific Science. 53(4): 418-429.
data(hawaii2) head(hawaii2)data(hawaii2) head(hawaii2)
Function of the Hossfeld (actually it is "Hoßfeld") allometric model, based upon parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
hossfeld.fx(x, alpha, beta, gamma, upsilon = 0)hossfeld.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Hoßfeld JW. 1822. Mathematik für Forstmänner, Oekonomen und Cameralisten. Dresden, Germany. Gotha:Hennings. 472 p.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-hossfeld.fx(x=time,alpha=31,beta=38,gamma=1.4) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-hossfeld.fx(x=time,alpha=31,beta=38,gamma=1.4) plot(time,y,type="l")
and ), when the first element of is missing.A simple linear interpolation function applicable to two vectors
(e.g., and ) of length three, suitable when the first
element of is missing.
interpy1(xs = xs, ys = ys)interpy1(xs = xs, ys = ys)
xs |
A numeric vector of length 3 |
ys |
A numeric vector of length 3, with the first position empty. |
The interpolated value for the first element of vector .
Christian Salas-Eljatib.
x<-c(0.2,0.8,1.3) y<-c(NA,41,38) interpy1(xs=x,ys=y)x<-c(0.2,0.8,1.3) y<-c(NA,41,38) interpy1(xs=x,ys=y)
and ), when the second element of is missing.A simple linear interpolation function applicable to two vectors
(e.g., and ) of length three, suitable when the second
element of is missing.
interpy2(xs = xs, ys = ys)interpy2(xs = xs, ys = ys)
xs |
A numeric vector of length 3. |
ys |
A numeric vector of length 3, with the second position empty. |
The interpolated value for the second element of vector .
Christian Salas-Eljatib.
x<-c(0.2,0.8,1.3) y<-c(48,NA,41) interpy2(xs=x,ys=y)x<-c(0.2,0.8,1.3) y<-c(48,NA,41) interpy2(xs=x,ys=y)
Function of the inverse model, based upon its two parameters and a variable, as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients).
inv.fx(x, alpha, beta, upsilon = 0)inv.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable to be used is 40 # Using the function inv.fx(x=40,alpha=25,beta=115) # The effect of the constant term phi inv.fx(x=40,alpha=25,beta=115, upsilon=2.5)# Predictor variable to be used is 40 # Using the function inv.fx(x=40,alpha=25,beta=115) # The effect of the constant term phi inv.fx(x=40,alpha=25,beta=115, upsilon=2.5)
Function of the Kozak (1988) taper equation model, based upon the model parameters, and the tree variables: diameter, total height, and stem height. The mathematical expression is as follows
where: is the stem diameter at stem-height
for the i-th tree; and
and are the tree-level variables
diameter at breast height and total height, respectively, for
tje i-th tree. The other terms are
with p being the inflextion point.
kozak.fx(d, h, hl, paramod, p = 0.2, c0 = 0.001)kozak.fx(d, h, hl, paramod, p = 0.2, c0 = 0.001)
d |
is the diameter at breast height (1.3 m) of the tree. The measurement unit is cm in the metric system, but ultimately it will depend on how the model was previously fitted, because of the measurement unit of the variables included. |
h |
is total height of the tree. |
hl |
is stem height within the tree,
thus |
paramod |
is a vector having the eight coefficients
of the taper model in the following order:
|
p |
is the inflextion height. By default is set to 0.2 |
c0 |
is a constant build-in the model. By default is set to 0.001. |
Returns the diameter of the stem at the
stem-height , thus , for the Kozak (1988)
functional form, based upon tree diameter and
total height .
Christian Salas-Eljatib.
Kozak A. 1988. A variable-exponent taper equation. Canadian Journal of Forest Research 18: 1363-1368. doi:10.1139/x88-213
# Parameters a0<- 1.02453; a1<- 0.88809; a2<- 1.00035 b1<- 0.95086; b2<- -0.18090; b3<- 0.61407; b4<- -0.35105; b5 <- 0.05686; coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5);p.coef <- 0.25 # Tree attributes dbh <- 45; toth <- 27 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozak.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs,p=p.coef) cbind(hl.int,dl.hat)# Parameters a0<- 1.02453; a1<- 0.88809; a2<- 1.00035 b1<- 0.95086; b2<- -0.18090; b3<- 0.61407; b4<- -0.35105; b5 <- 0.05686; coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5);p.coef <- 0.25 # Tree attributes dbh <- 45; toth <- 27 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozak.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs,p=p.coef) cbind(hl.int,dl.hat)
Function of the Kozak (2004) taper equation model, based upon the model parameters, and the tree variables: diameter, total height, and stem height. The mathematical expression is as follows (escribir la correcta)
where: is the stem diameter at stem-height
for the i-th tree; and
and are the tree-level variables
diameter at breast height and total height, respectively, for
tje i-th tree. The other terms are
with p being the inflextion point.
kozaklast.fx(d, h, hl, paramod)kozaklast.fx(d, h, hl, paramod)
d |
is the diameter at breast height (1.3 m) of the tree. The measurement unit is cm in the metric system, but ultimately it will depend on how the model was previously fitted, because of the measurement unit of the variables included. |
h |
is total height of the tree. |
hl |
is stem height within the tree,
thus |
paramod |
is a vector having the nine coefficients
of the taper model in the following order:
|
Returns the diameter of the stem at the
stem-height , thus , for the Kozak (1988)
functional form, based upon tree diameter and
total height .
Christian Salas-Eljatib.
Kozak A. 2004. My last words on taper equations. The Forestry Chronicle 80: 507–515. doi:10.1139/x88-213
# Parameters a0<- 0.80; a1<- 0.88809; a2<- 0.2 b1<- 0.95086; b2<- -0.18090; b3<- 0.61407; b4<- -0.35105; b5 <- 0.05686; b6 <- 0.001; coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5,b6); # Tree attributes dbh <- 45; toth <- 27 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozaklast.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs) cbind(hl.int,dl.hat)# Parameters a0<- 0.80; a1<- 0.88809; a2<- 0.2 b1<- 0.95086; b2<- -0.18090; b3<- 0.61407; b4<- -0.35105; b5 <- 0.05686; b6 <- 0.001; coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5,b6); # Tree attributes dbh <- 45; toth <- 27 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozaklast.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs) cbind(hl.int,dl.hat)
Function of the natural log-transformed Kozak (1988) taper equation model, based upon the model parameters, and the tree variables: diameter, total height, and stem height. The mathematical expression is as follows
where: is the stem diameter at stem-height
for the i-th tree; and
and are the tree-level variables
diameter at breast height and total height, respectively, for
tje i-th tree. The other terms are
with p being the inflextion point.
kozakln.fx(d, h, hl, paramod, p = 0.2, c0 = 0.001)kozakln.fx(d, h, hl, paramod, p = 0.2, c0 = 0.001)
d |
is the diameter at breast height (1.3 m) of the tree. The measurement unit is cm in the metric system, but ultimately it will depend on how the model was previously fitted, because of the measurement unit of the variables included. |
h |
is total height of the tree. |
hl |
is stem height within the tree,
thus |
paramod |
is a vector having the eight coefficients
of the taper model in the following order:
|
p |
is the inflextion height. By default is set to 0.2 |
c0 |
is a constant build-in the model. By default is set to 0.001. |
Returns the diameter of the stem at the
stem-height , thus , for the natural
log-transformed Kozak (1988) functional form, based upon tree
diameter and total height . Therefore, the
result applies the back-transformation by using the anti-log
function, i.e., exp().
Christian Salas-Eljatib.
Kozak A. 1988. A variable-exponent taper equation. Canadian Journal of Forest Research 18: 1363-1368. doi:10.1139/x88-213
# Parameters a0<- 0.04338410; a1<- 0.88657485; a2<- 0.00446052;b1<- 1.978196; b2<- -0.40676847; b3<- 3.50815520; b4<- -1.84177070;b5<- 0.19647175 coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5);p.coef <- 0.25 # Tree attributes dbh <- 40; toth <- 25 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozakln.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs,p=p.coef) cbind(hl.int,dl.hat)# Parameters a0<- 0.04338410; a1<- 0.88657485; a2<- 0.00446052;b1<- 1.978196; b2<- -0.40676847; b3<- 3.50815520; b4<- -1.84177070;b5<- 0.19647175 coefs<-c(a0,a1,a2,b1,b2,b3,b4,b5);p.coef <- 0.25 # Tree attributes dbh <- 40; toth <- 25 # Using the function hl.int <- c(0.3, 1.3, 5) dl.hat <- kozakln.fx(d=dbh,h=toth,hl=hl.int,paramod=coefs,p=p.coef) cbind(hl.int,dl.hat)
Function of the Langhmuir model, based upon two parameters, and a single predictor variable, as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients). Further details
of this function can be found in Salas-Eljatib (2025).
lang.fx(x, alpha, beta, upsilon = 0)lang.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Khayyun TS, Mseer AH. 2019. Comparison of the experimental results with the Langmuir and Freundlich models for copper removal on limestone adsorbent. Applied Water Science 9(8):170.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(.1,60,by=0.01) # Using the function y<-lang.fx(x=time, alpha=37,beta=0.05) plot(time,y,type="l")# Predictor variable values to be used time<-seq(.1,60,by=0.01) # Using the function y<-lang.fx(x=time, alpha=37,beta=0.05) plot(time,y,type="l")
Data from a large (8.8 ha) fully mapped plot in a Norway spruce (Picea abies) dominated old-growth forest in the subarctic region of Fennoscandia.
data(largeplot)data(largeplot)
Contains Cartesian position of trees and other variables in a large sample plot, as follows:
Tree ID.
Species code as follows: 1=Pinus sylvestris,2=Picea abies,3=Betula pubescens, 5=Salix caprea, 8: Sorbus aucuparia.
Cartesian position in the X-axis, in m.
Cartesian position in the Y-axis, in m.
Measurement year.
Diameter at breast-height, in cm.
Total height, in m.
Data were retrieved from the paper cited below, where several details might be worth reading.
Pouta P, Kulha N, Kuuluvainen T, Aakala T. 2022. Partitioning of space among trees in an old-growth spruce forest in subarctic Fennoscandia. Frontiers in Forests and Global Change 5: 817248. doi:10.3389/ffgc.2022.817248
data(largeplot) head(largeplot) df<-largeplot pine <- df[df$spp.code==1,] spruce <- df[df$spp.code==2,] birch <- df[df$spp.code==3,] plot(spruce$x.coord,spruce$y.coord,cex=(spruce$dbh)/30,col="blue") points(birch$x.coord,birch$y.coord,cex=(birch$dbh)/30,col="green") points(pine$x.coord,pine$y.coord,cex=(pine$dbh)/30,col="red")data(largeplot) head(largeplot) df<-largeplot pine <- df[df$spp.code==1,] spruce <- df[df$spp.code==2,] birch <- df[df$spp.code==3,] plot(spruce$x.coord,spruce$y.coord,cex=(spruce$dbh)/30,col="blue") points(birch$x.coord,birch$y.coord,cex=(birch$dbh)/30,col="green") points(pine$x.coord,pine$y.coord,cex=(pine$dbh)/30,col="red")
Function of the Logistic model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
logist.fx(x, alpha, beta, gamma, upsilon = 0)logist.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Pearl R. 1909. Some recent studies on growth. The American Naturalist 43(509):302-316.
Salas-Eljatib C, Mehtatalo L, Gregoire TG, Soto DP, Vargas-Gaete R. 2021. Growth equations in forest research: mathematical basis and model similarities. Current Forestry Reports 7:230-244. doi:10.1007/s40725-021-00145-8
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-logist.fx(x=time,alpha=22,beta=1.4,gamma=.1) plot(time,y,type="l") #'# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-logist.fx(x=time,alpha=22,beta=1.4,gamma=.1) plot(time,y,type="l") #'
Function of the Logistic modified model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
logistm.fx(x, alpha, beta, gamma, upsilon = 0)logistm.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Pearl R. 1909. Some recent studies on growth. The American Naturalist 43(509):302-316.
Pinheiro JC, DM Bates. 2000. Mixed-effects Models in S and Splus. New York, USA. Springer-Verlag. 528 p.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(0.1,65,by=0.01) # Using the function y<-logistm.fx(x=time,alpha=22,beta=8.59,gamma=4.72) plot(time,y,type="l") #'# Predictor variable values to be used time<-seq(0.1,65,by=0.01) # Using the function y<-logistm.fx(x=time,alpha=22,beta=8.59,gamma=4.72) plot(time,y,type="l") #'
Function of the Meyer model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
meyer.fx(x, alpha, beta, upsilon = 0)meyer.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Meyer HA. 1940. A mathematical expression for height curves. Journal of Forestry 38(5):415-420.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-meyer.fx(x=time,alpha=20,beta=.07) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-meyer.fx(x=time,alpha=20,beta=.07) plot(time,y,type="l")
Function of the Michaelis-Menten model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
mmenten.fx(x, alpha, beta, upsilon = 0)mmenten.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Michaelis L, ML Menten. 1913. Die kinetik der invertinwirkung. Biochemische Zeitschrift 49:333–369.
Salas-Eljatib C, P Corvalán, N Pino, PJ Donoso, DP Soto.
Modelos de efectos mixtos de altura-diámetro para Drimys winteri en el sur (41-43 S) de Chile. Bosque 40(1):71-80.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-mmenten.fx(x=time,alpha=30,beta=13) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-mmenten.fx(x=time,alpha=30,beta=13) plot(time,y,type="l")
Estimates the parameters of the Weibull probability density
function based on the method of moments. It is based on the
2-parameter reparemetrization of the function, i.e., the
shape and scale parameters.
mmweibull(y)mmweibull(y)
y |
a vector having the randon variable values. |
Althought the original function was written by Dr Oscar García, and the corresponding reference is provided, the current function has some changes to make it of a broader use.
The main output is a list with the two estimated parameters and the number of observations being used for estimating the parameters.
Dr Oscar García and Christian Salas-Eljatib.
García, O. 1981. Simplified method-of-moments estimation for the Weibull distribution. New Zealand Journal of Forestry Science 11(3): 304-306.
# Random variable to be studied library(datana) yvar<-llancahue$dbh summary(yvar) hist(yvar) # Using the function mmweibull(y=yvar)# Random variable to be studied library(datana) yvar<-llancahue$dbh summary(yvar) hist(yvar) # Using the function mmweibull(y=yvar)
The data file contains one row per unique 3.5km grid cell by year
combination. The data frame covers
all grid cells within the state of California where at least one Aerial
Detection Survey (ADS) flight
was taken between 2009 and 2015, so each grid cell position has between
1 and 7 years of data
(reflected as 1 to 7 rows in the data file per grid cell position).
The main response variables
are mort.bin (presence of any mortality) and mort.tph (number of dead
trees/ha within the given
grid cell by year).
data(mortaforest)data(mortaforest)
The data frame contains four variables as follows:
Live basal area from the GNN dataset
Live trees per hectare from the GNN dataset
rank-order x-position of the grid cell (position 1 is
western-most)
rank-order y-position of the grid cell (position 1 is
northern-most)
x-coordinate of the grid cell centroid in California Albers (EPSG 3310)
y-coordinate of the grid cell centroid in California Albers (EPSG 3310)
1= dead trees observed in grid cell. 0= no dead
trees observed
Dead trees per hectare from the aggregated ADS dataset
Dead trees per acre from the aggregated ADS dataset
Year of the ADS flight. Most flights occurred from May-August.
Mean annual climatic water deficit for the grid cell, for Oct 1-Sept 31 water year, averaged from 1981-2015
Climatic water deficit for the grid cell during the Oct-Sept water year overlapping the summer ADS flight of the given year
Z-score for climatic water deficit for the given grid
cell/water year. Calculated as (Def0–Defnorm)/(standard deviation in
deficit among all years 1981-2015 for the given grid cell)
Z-score for climatic water deficit for the given grid cell in the preceeding water year.
Z-score for climatic water deficit for the given grid cell two water years prior.
Z-score for temperature for the given grid cell/year.
Z-score for precipitation for the given grid cell/year.
FDCI variable. Quantile of Defnorm of the given grid cell,
relative to the Defnorm of all other grid cells with a basal area
within 2.5 m/ha of the given cell is basal area.
The data were obtained from the DRYAD repository doi:10.5061/dryad.7vt36
Young DJN, Stevens JS, Earles JM, Moore J, Ellis A, Jirka AM, Latimer ML. 2017. Long-term climate and competition explain forest mortality patterns under extreme drought. Ecology Letters 20(1):78-86. doi:10.1111/ele.12711
Salas-Eljatib C, Fuentes-Ramírez A, Gregoire TG, Altamirano A, Yaitul V. A study on the effects of unbalanced data when fitting logistic regression models in ecology. Ecological Indicators 85:502-508. doi:10.1016/j.ecolind.2017.10.030
data(mortaforest) head(mortaforest)data(mortaforest) head(mortaforest)
El archivo de datos contiene una fila por combinación única de celda
de cuadrícula de 3,5 km por año.
El marco de datos cubre todas las celdas de la cuadrícula dentro del
estado de California donde se
tomo al menos un vuelo de la Encuesta de deteccion aérea (ADS) entre
2009 y 2015, por lo que cada posición
de celda de la cuadrícula tiene entre 1 y 7 años de datos (reflejados
como 1 a 7 filas en el archivo de datos
por posición de celda de cuadrícula). Las principales variables de
respuesta son mort.bin (presencia de alguna mortalidad)
y mort.tph (número de árboles muertos /ha dentro de la celda de la
cuadrícula por año).
data(mortaforest2)data(mortaforest2)
Las variables se describen a continuación::
Área basal viva del conjunto de datos GNN
Árboles vivos por hectárea del conjunto de datos GNN
Posición X del orden de clasificación de la celda de la
cuadrícula (la posición 1 es la más occidental)
Posición Y del orden de clasificación de la celda de la
cuadrícula (la posición 1 es la más al norte)
Coordenada X del centroide de la celda de la cuadrícula
en California Albers (EPSG 3310)
Coordenada Y del centroide de la celda de la cuadrícula
en California Albers (EPSG 3310)
Codificación para identificar mortalidad. 1 = árboles
muertos observados en la celda de la cuadrícula. 0 = no se observaron
árboles muertos
Árboles muertos por hectárea del conjunto de datos ADS agregado
Árboles muertos por acre del conjunto de datos ADS agregado
año del vuelo de ADS. La mayoría de los vuelos se realizaron entre mayo y agosto
Déficit hídrico climático anual medio para la celda de la cuadrícula, para el año hídrico del 1 de octubre al 31 de septiembre, promediado de 1981 a 2015
Déficit de agua climática para la celda de la cuadrícula durante el año hidrológico de octubre a septiembre que se superpone al vuelo ADS de verano del año dado
Puntaje Z para el déficit hídrico climático para la celda
de cuadrícula / año hídrico dado. Calculado como (Def0–Defnorm) /
(desviación estándar en el déficit entre todos los años 1981-2015 para
la celda de la cuadrícula dada)
Puntuación Z para el déficit hídrico climático para la celda de la cuadrícula dada en el año hidrológico anterior.
Puntuación Z para el déficit hídrico climático para la celda de la cuadrícula dada dos años antes.
Puntaje Z para la temperatura para la celda de cuadrícula / año dado.
Puntaje Z para la precipitación para la celda / año de la cuadrícula dado.
Variable FDCI. Cuantil de Defnorm de la celda de la
cuadrícula dada, en relación con la Defnorm de todas las demás celdas de
la cuadrícula con un área basal dentro de 2.5 m/ha de
la celda dada
Los datos fueron obtenidos desde el repositorio DRYAD en doi:10.5061/dryad.7vt36
Young DJN, Stevens JS, Earles JM, Moore J, Ellis A, Jirka AM, LatimerML. 2017. Long-term climate and competition explain forest mortality patterns under extreme drought. Ecology Letters 20(1):78-86. doi:10.1111/ele.12711
Salas-Eljatib C, Fuentes-Ramírez A, Gregoire TG, Altamirano A, and Yaitul V. 2018. A study on the effects of unbalanced data when fitting logistic regression models in ecology. Ecological Indicators 85:502-508. doi:10.1016/j.ecolind.2017.10.030
data(mortaforest2) head(mortaforest2)data(mortaforest2) head(mortaforest2)
Function of the Naslund model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
naslund.fx(x, alpha, beta, upsilon = 0)naslund.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Näslund M. 1947. Skogsförsöksanstaltens gallringsförsök i tallskog. Technical report. Biochemische Zeitschrift 49:333–369.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-naslund.fx(x=time,alpha=1.5,beta=.37) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-naslund.fx(x=time,alpha=1.5,beta=.37) plot(time,y,type="l")
Extract the n-th element from a list
nele.list(lst, n)nele.list(lst, n)
lst |
is the list object |
n |
is the position of the element in the list to be retrieved |
object with elements of each list
Christian Salas-Eljatib
x <- list(list("z","x","y"), list(3,4,99,23,45), list(1,67,5,6,89)) nele.list(x,1) nele.list(x,2) nele.list(x,3)x <- list(list("z","x","y"), list(3,4,99,23,45), list(1,67,5,6,89)) nele.list(x,1) nele.list(x,2) nele.list(x,3)
Function of the Ogawa allometric model, based upon parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
ogawa.fx(x, alpha, beta, gamma, upsilon = 0)ogawa.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the inverse of the response variable based upon the predictor variable and the coefficients shown above.
Christian Salas-Eljatib.
Kohyama T, T Hara, T Tadaki. 1990. Patterns of trunk diameter, tree height and crown depth in crowded abies stands. Annals of Botany 65(5):567–574.
Salas-Eljatib C. 2026. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 53 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function d<-ogawa.fx(x=time,alpha=22,beta=0.013,gamma=1.13) plot(time,d,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function d<-ogawa.fx(x=time,alpha=22,beta=0.013,gamma=1.13) plot(time,d,type="l")
These are volume measurements data of sample trees in the Baixo-Mino region in Galicia, Spain.
data(pinaster)data(pinaster)
Contains tree-level variables, as follows:
Stand number from the sample tree was selected.
Site index of the stand.
Tree number.
Diameter at breast height, in cm.
Total height, in m.
Upper-stem diameter at 4 m, in cm.
Tree gross volume, in m with bark.
Tree gross volume, in m without bark.
The data are provided courtesy of Dr. Christian Salas-Eljatib at the Universidad de Chile (Santiago, Chile).
Salas C, Nieto L, Irisarri A. 2005. Modelos de volumen para Pinus pinaster Ait. en la comarca del Baixo Mino, Galicia, España. Quebracho 12: 11-22. https://eljatib.com/publication/2005-12-01_modelos_de_volumen_p/
data(pinaster) head(pinaster)data(pinaster) head(pinaster)
Variables de volumen y otras a nivel de árbol para una muestra de árboles de Pinus pinaster en la comarca del Baixo-Mino en Galicia, España.
data(pinaster2)data(pinaster2)
Contiene las siguientes variables a nivel de árbol:
Rodal desde donde el árbol fue muestreado
Índice de sitio del rodal, en m.
Número del árbol.
Diámetro a la altura del pecho, en cm.
Altura total, en m.
Diámetro fustal a los 4 m, en cm.
Volumen bruto total con corteza, en m.
Volumen bruto total sin corteza, en m.
Lo datos fueron cedidos cortesía del Dr. Christian Salas-Eljatib de la Universidad de Chile (Santiago, Chile).
Salas C, Nieto L, Irisarri A. 2005. Modelos de volumen para Pinus pinaster Ait. en la comarca del Baixo Miño, Galicia, España. Quebracho 12: 11-22. https://eljatib.com/publication/2005-12-01_modelos_de_volumen_p/
data(pinaster2) head(pinaster2)data(pinaster2) head(pinaster2)
These are tree-lavel measurement data from Pinus spp invasion in Araucaria-Nothofagus forests in the Malalcahuello National Reserve in La Araucanía region in southhern Chile, measured in 2012. There are 26 plots and plot size is 100 m².
data(pinusSpp)data(pinusSpp)
Contains eight variables, as follows:
Plot sample ID.
Plot size, en m.
Decimal coordinate of S latitude.
Decimal coordinate of W longitude.
Tree identificator number in each plot. Same indv.id for
multi-stem trees.
Stem identificator number in each plot.
Species.
Diameter at breast-height, in cm.
Total height, in m.
Height to crown base, in m.
Crown lenght, in m.
The data is provided courtesy of Drs. Aníbal Pauchard and Rafael García at the Laboratorio de Invasiones Biológicas, Universidad de Concepción (Concepción, Chile).
Cobar-Carranza A, Garcia R, Pauchard A, Pena E. 2014. Effect of Pinus contorta invasion on forest fuel properties and its potential implications on the fire regime of Araucaria araucana and Nothofagus antarctica forests. Biological Invasions. 16(11): 2273-2291. doi:10.1007/s10530-014-0663-8
data(pinusSpp) head(pinusSpp) length(unique(pinusSpp$plot.id)) boxplot(dbh~plot.id, data=pinusSpp)data(pinusSpp) head(pinusSpp) length(unique(pinusSpp$plot.id)) boxplot(dbh~plot.id, data=pinusSpp)
Mediciones a nivel de árbol para estudiar la invasión de Pinus spp en
bosques de Araucaria-Nothofagus en
la Reserva Nacional Malalcahuello en la región de la Araucanía en el sur de
Chile.
Hay 26 parcelas, y la superficie de cada una es de 100 m.
data(pinusSpp2)data(pinusSpp2)
Los datos contienen ocho columnas que se detallan a continuación:
Número de la parcela.
Superficie de la parcela, en m.
Coordenada decimal latitud S.
Coordenada decimal longitud W.
Identificador del árbol en la parcela. Mismo indv.id
para árboles multi-fustales
Identificador del fuste.
Especie.
Diámetro a la altura del pecho, en cm.
Altura total, en m.
Altura comienzo de copa, en m.
Largo de copa, en m.
Los datos fueron cedidos por los Drs. Aníbal Pauchard y Rafael García del Laboratorio de Invasiones Biológicas, Universidad de Concepción (Concepción, Chile).
Cobar-Carranza A, Garcia R, Pauchard A & Pena E. 2014. Effect of Pinus contorta invasion on forest fuel properties and its potential implications on the fire regime of Araucaria araucana and Nothofagus antarctica forests. Biological Invasions. 16(11):2273-2291. doi:10.1007/s10530-014-0663-8
data(pinusSpp2) head(pinusSpp2) length(unique(pinusSpp2$parce)) boxplot(dap~parce, data=pinusSpp2)data(pinusSpp2) head(pinusSpp2) length(unique(pinusSpp2$parce)) boxplot(dap~parce, data=pinusSpp2)
Maximum plant size of 58 tree species, shrub and tree fern species that occur in 530 forest plots across the Hawaiian archipelago.
data(plantshawaii)data(plantshawaii)
Contains six columns, as follows:
Genus and epithet of the species.
Family of each species.
Categorical variable (native, alien, uncertain)
indicating alien status of each individual following Wagner et al. (2005).
Number of individuals used to estimate maximum plant size.
Maximum plant size, estimated as D950.1 (King et al. 2006).
Maximum plant size, estimated as Dmax3 (King et al. 2006).
The data were obtained from the DRYAD repository at doi:10.5061/dryad.1kk02qr.
Craven D, Knight T, Barton K, Bialic-Murphy L, Cordell S, Giardina C, Gillespie T, Ostertag R, Sack L,Chase J. 2018. OpenNahele: the open Hawaiian forest plot database. Biodiversity Data Journal 6: e28406.
data(plantshawaii) head(plantshawaii) tapply(plantshawaii$d95,plantshawaii$native.status,summary)data(plantshawaii) head(plantshawaii) tapply(plantshawaii$d95,plantshawaii$native.status,summary)
The data corresponds to a list of 400 elements of a population of
the variable forest volume (in m/ha) measured in field plots
of 0.1 ha of area. Therefore, the data emerge from a grid of 20 rows by
20 columns, completely covering a forest of 40 ha.
data(popvol)data(popvol)
Contains two variables, as follows:
Plot number, or ID.
Stand volume, in m/ha
The values were digitized from Table No. 11 of Zohrer (1980), which is actually based upon Loetsch and Haller (1964).
Zohrer F. 1980. Forstinventur. Ein Leitfaden fur Studium und Praxis. Pareys Studientexte Nr. 26. Parey. Berlin, Germany. 207
Loetsch F, Haller KE. 1964. Forest inventory. Volume 1. Bayerischer Landwirtschaftsverlag Gmbh. Munchen, Germany. 436 p.
data(popvol) sum(popvol$vol) mean(popvol$vol) hist(popvol$vol)data(popvol) sum(popvol$vol) mean(popvol$vol) hist(popvol$vol)
Los datos corresponden a una lista de 400 elementos de un población de la
variable volumen de bosque (en m/ha), medida en parcelas
de 0.1 ha de superficie. Por lo tanto, los datos provienen de
una grilla de 20 filas por 20 columnas, que cubren por completo un
bosque de 40 ha de superficie.
data(popvol2)data(popvol2)
Contiene las siguientes dos columnas:
Número de parcela (i.e., elemento de la población).
Volumen en m/ha
Datos digitados desde el cuadro No. 11 de Zohrer (1980), el cual es en realidad un cuadro citado del libro de Loetsch y Haller (1964).
Zohrer F. 1980. Forstinventur. Ein Leitfaden fur Studium und Praxis. Pareys Studientexte Nr. 26. Parey. Berlin, Germany. 207
Loetsch F, Haller KE. 1964. Forest inventory. Volume 1. Bayerischer Landwirtschaftsverlag Gmbh. Munchen, Germany. 436 p.
data(popvol2) sum(popvol2$vol) mean(popvol2$vol) hist(popvol2$vol)data(popvol2) sum(popvol2$vol) mean(popvol2$vol) hist(popvol2$vol)
Function of the power model, based upon the model parameters, and a single predictor variable as follows
where: and are the response
and predictor variable, respectively for the i-th observation;
and the rest are parameters (i.e., coefficients).
power.fx(x, alpha, beta, upsilon = 0)power.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable to be used is 30 # Using the function power.fx(x=30,alpha=2.86,beta=.49)# Predictor variable to be used is 30 # Using the function power.fx(x=30,alpha=2.86,beta=.49)
Function of the Naslund model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
prodan.fx(x, alpha, beta, gamma, upsilon = 0)prodan.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Näslund M. 1947. Skogsförsöksanstaltens gallringsförsök i tallskog. Technical report. Biochemische Zeitschrift 49:333–369.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-prodan.fx(x=time,alpha=2.06,beta=.41,gamma=.03) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-prodan.fx(x=time,alpha=2.06,beta=.41,gamma=.03) plot(time,y,type="l")
Tree-level information collected within sample plots in a forestry 13 years-old plantation of Pinus radiata near Capitán Pastene, Southern Chile. The sample plots size is 150 m², and the total area of the plantation is 45 ha.
data(radiatapl)data(radiatapl)
The data frame contains four variables as follows:
Plot number identification.
Tree number identification.
Diameter at breast height (1.3 m), in cm.
Total height, in m. Not measured for all trees.
Tree-health clasification, assigned to any of the following levels: good, medium, and bad.
The data are provided courtesy of Mr. Mauricio Lobos-Beneventi (Temuco, Chile), and were collected with the help of his colleague, Christian Salas-Eljatib.
data(radiatapl) head(radiatapl)data(radiatapl) head(radiatapl)
Es un listado de árboles con características de árboles medidos dentro de unidades de muestreo en una plantación de 13 años de edad de Pinus radiata ubicada cerca a Capitán Pastene, región de la Araucanía, Chile. Las parcelas de muestreo tienen 150 m², y la plantación cubre una superficie total de 45 ha.
data(radiatapl2)data(radiatapl2)
Los datos contienen las siguientes columnas
Número de identificación de la parcela de muestreo.
Número de identificación del árbol dentro de la parcela.
Diámetro a la altura del pecho (1.3 m), en cm.
Altura total, en m. Solo registrada para algunos árboles muestra.
Clasificación sobre el estado sanitario del árbol, en tres niveles: buena, media, y mala.
Los datos son cortesía del Ing. Forestal Mauricio Lobos-Beneventi (Temuco, Chile), y fueron recolectados en conjunto con su colega Christian Salas-Eljatib.
data(radiatapl2) head(radiatapl2)data(radiatapl2) head(radiatapl2)
Function of the Ratkowsky allometric model, based upon parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
ratkow.fx(x, alpha, beta, gamma, upsilon = 0)ratkow.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Zhang L. 1997. Cross-validation of non-linear growth functions for modelling tree height-diameter relationships. Annals of Botany 79(3):251–257.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-ratkow.fx(x=d,alpha=28,beta=34,gamma=.85) plot(d,h,type="l")# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-ratkow.fx(x=d,alpha=28,beta=34,gamma=.85) plot(d,h,type="l")
Function of the Schnute allometric model, based upon parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib et al (2021).
schnute.fx(x, alpha, beta, gamma, upsilon = 0, x1 = min(x), x2 = max(x))schnute.fx(x, alpha, beta, gamma, upsilon = 0, x1 = min(x), x2 = max(x))
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. The default value for |
x1 |
is the minimum value for the x variable. The default value is internally computed from the sample. |
x2 |
is the maximumvalue for the x variable. The default value is internally computed from the sample. |
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Schnute I. 1981. A versatile growth model with statistically stable parameters. Can. J. Fish. Aquat. Sci. 38(9):1128-1140.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-schnute.fx(x=d,alpha=1.77,beta=0.01,gamma=28) plot(d,h,type="l")# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-schnute.fx(x=d,alpha=1.77,beta=0.01,gamma=28) plot(d,h,type="l")
Function of the Johnson-Schumacher model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th
observation; and the rest are parameters (i.e., coefficients).
Further details on this model can be found in
Salas-Eljatib et al (2021) and Salas-Eljatib (2025).
schuma.fx(x, alpha, beta, upsilon = 0)schuma.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Johnson NO. 1935. A trend line for growth series. J. Am. Stat. Assoc. 30(192):717-717.
Schumacher FX. 1939. A new growth curve and its application to timber yield studies. J. of Forestry 37(10):819-820.
Salas-Eljatib C, Mehtatalo L, Gregoire TG, Soto DP, Vargas-Gaete R. 2021. Growth equations in forest research: mathematical basis and model similarities. Current Forestry Reports 7:230-244. doi:10.1007/s40725-021-00145-8
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-schuma.fx(x=d,alpha=3.87,beta=4.38) plot(d,h,type="l")# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-schuma.fx(x=d,alpha=3.87,beta=4.38) plot(d,h,type="l")
Function of the Sibbesen model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
sibbesen.fx(x, alpha, beta, gamma, upsilon = 0)sibbesen.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Sibbesen E. 1981. Some new equations to describe phosphate sorption by soils. Journal of Soil Science 32:67-74.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-sibbesen.fx(x=time,alpha=32,beta=0.52,gamma=4.83) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-sibbesen.fx(x=time,alpha=32,beta=0.52,gamma=4.83) plot(time,y,type="l")
The Austrian Research Center for Forests established a spacing experiment
with Norway spruce (Picea abies) in the Vienna Woods. In the “Hauersteig”
experiment, several tree-level variables were measured within four sample
plots over time. The current dataframe has only the measurements
carried out in 1944, for all years see biometrics::spatimepsp.
data(spataustria)data(spataustria)
Contains cartesian position of trees, and covariates, in sample plots, as follows:
Plot number.
Tree number.
Species code as follows: PCAB=Picea abies, LADC=Larix decidua, PNSY=Pinus sylvestris, FASY=Fagus Sylvatica, QCPE=Quercus petraea, BTPE=Betula pendula.
Cartesian position in the X-axis, in m.
Cartesian position in the Y-axis, in m.
Measurement year.
Diameter at breast-height, in cm.
Data were retrieved from the paper cited below, where several details
might be worth reading. For instance, plot size slightly varies among plots:
Plot No. 1=2509.7 m, Plot No. 2=2474.8 m,
Plot No. 3=2415.9 m, and Plot No. 4=2482.8 m.
Kindermann G. Kristofel F, Neumann M, Rossler G, Ledermann T & Schueler. 2018. 109 years of forest growth measurements from individual Norway spruce trees. Sci. Data 5:180077 doi:10.1038/sdata.2018.77
data(spataustria) head(spataustria) df<-spataustria oldpar<-par(mar=c(4,4,0,0)) bord<-data.frame( x=c(min(df$x.coord),max(df$x.coord),min(df$x.coord),max(df$x.coord)), y=c(min(df$y.coord),min(df$y.coord),max(df$y.coord),min(df$y.coord)) ) plot(bord,type="n", xlab="x (m)", ylab="y (m)", asp=1, bty='n') points(df$x.coord,df$y.coord,col=df$plot,cex=0.5) par(oldpar)data(spataustria) head(spataustria) df<-spataustria oldpar<-par(mar=c(4,4,0,0)) bord<-data.frame( x=c(min(df$x.coord),max(df$x.coord),min(df$x.coord),max(df$x.coord)), y=c(min(df$y.coord),min(df$y.coord),max(df$y.coord),min(df$y.coord)) ) plot(bord,type="n", xlab="x (m)", ylab="y (m)", asp=1, bty='n') points(df$x.coord,df$y.coord,col=df$plot,cex=0.5) par(oldpar)
The Austrian Research Center for Forests established a spacing experiment with Norway spruce (Picea abies) in the Vienna Woods. In the “Hauersteig” experiment, several tree-level variables were measured within four sample plots over time.
data(spatimepsp)data(spatimepsp)
Contains cartesian position of trees, and covariates, in a sample plot, as follows:
Plot number.
Tree number.
Species code as follows: PCAB=Picea abies, LADC=Larix decidua, PNSY=Pinus sylvestris, FASY=Fagus Sylvatica, QCPE=Quercus petraea, BTPE=Betula pendula.
Cartesian position in the X-axis, in m.
Cartesian position in the Y-axis, in m.
Measurement year.
diameter at breast-height, in cm.
Data were retrieved from the paper cited below, where several details might be worth reading.
Kindermann G. Kristofel F, Neumann M, Rossler G, Ledermann T & Schueler. 2018. 109 years of forest growth measurements from individual Norway spruce trees. Sci. Data 5:180077 doi:10.1038/sdata.2018.77
data(spatimepsp) head(spatimepsp) df<-spatimepsp lattice::xyplot(y.coord~x.coord|as.factor(year), data=df,as.table=TRUE)data(spatimepsp) head(spatimepsp) df<-spatimepsp lattice::xyplot(y.coord~x.coord|as.factor(year), data=df,as.table=TRUE)
List of botanical attributes of plant species
data(spplist)data(spplist)
The list contains the following fields:
Unique number of the taxon (i.e., species).
Taxonomic rank Kingdom. In this datase, all species belong to the Kingdom Plantae.
Taxonomic rank division or phylum within the Kingdom.
Taxonomic rank Class within the Kingdom.
Taxonomic rank Order within the Class.
Taxonomic rank Family within the Order.
Full scientific name including author.
Solely the genus of the scientific name.
Solely the epithet of the scientific name.
Species botanical-author.
Subspecies: one of two or more populations of a species varying from one another by morphological characteristics.
Sub-species botanical-author.
Shape
Shape's author.
Species common name(s). With blank spaces, no special characters.
Synonyms of the scientific name by which the species has been or is known.
Border countries given the species distribution range.
The general appearance, growth form, or architecture e.g., tree, shrub, grass.
Life cycle.
Status according to the species origin: Native or Endemic
Distribution range of the species, within Chile administrative regions
Elevation range of the species, in meters above sea level.
Abreviattion of the species according to the Forest
Biometrics and Modelling Lab at the Universidad de Chile (https://biometriaforestal.uchile.cl). For
instance, ap stands for the species Aextoxicon punctatum, lh
for Lomatia hirsuta, and alike. Meanwhile nob is Nothofagus obliqua
and nal to Nothofagus alpina.
Species common name. No blank spaces, no special characters.
Species scientific name abbreviation.
Species scientific name.
Species common name in LaTeX
Species single common name.
Function of the Stage allometric model, based upon parameters (i.e., coefficients) and a variable, as defined by the mathematical expression
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
Further details on this function can be found in
Salas-Eljatib (2025).
stage.fx(x, alpha, beta, gamma, upsilon = 0)stage.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Stage AR. 1963. A mathematical approach to polymorphic site index curves for Grand Fir. Forest Sci. 9(2):167-180. doi:10.1093/forestscience/9.2.167
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function d<-stage.fx(x=time,alpha=28,beta=56,gamma=1.19) plot(time,d,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function d<-stage.fx(x=time,alpha=28,beta=56,gamma=1.19) plot(time,d,type="l")
Creates a stand table, i.e. a table that describes the tree density
of a forest segregated by a tree-size variable y. The most common
example is to use diameter at breast-heigth (i.e., ) as the
variable, thus the resulting table is a way to describe the
diameter distribution.
standtab( data, plot.area, y.for.class, yclass.amp, metric = TRUE, want.basal.area = FALSE, ... )standtab( data, plot.area, y.for.class, yclass.amp, metric = TRUE, want.basal.area = FALSE, ... )
data |
data frame having the tree list of a sample plot. |
plot.area |
column name having the plot area in m |
y.for.class |
a text of the column-name having the tree-size variable to be used to segregated the tree density. |
yclass.amp |
a numeric value establishing the width of each
class of the variable |
metric |
is a logic value, the default is to |
want.basal.area |
is a logic value, if set to |
... |
aditional options for basic stats functions. |
For a given imputed tree list of a sample plot, tree density is computed by classes of the tree-size variable. Note that the imputed-tree list must have all the tree-level variables needed to compute stand-level variables, such as, diameter and plot size.
Returns a stand table.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Biometría y Modelación Forestal. Borrador de libro, en revisión. 352 p.
## Dataframe to be used df<-biometrics::eucaplot2 #see the metadata by typing ?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) ## Preparing the treelist, in the required format df$parce<-1;df$sup.plot<-500;amp.diam=2; out<-standtab(data=df,plot.area="sup.plot",y.for.class = "dap", yclass.amp = amp.diam) out #the following sum sum(out$nha.class) # must be equal to the stand-level density (in trees/ha) df$expf<-10000/df$sup.plot;sum(df$expf) # Do you want to add the stand basal area segregated by `y.for.class` out2<-standtab(data=df,plot.area="sup.plot",y.for.class = "dap", yclass.amp = amp.diam, want.basal.area = TRUE) out2 #the following sum sum(out2$gha.class) # must be equal to the stand-level basal area (in m2/ha) df$g<-gtree(x=df$dap);df$gtree.ha<-df$g*df$expf;sum(df$gtree.ha)## Dataframe to be used df<-biometrics::eucaplot2 #see the metadata by typing ?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) ## Preparing the treelist, in the required format df$parce<-1;df$sup.plot<-500;amp.diam=2; out<-standtab(data=df,plot.area="sup.plot",y.for.class = "dap", yclass.amp = amp.diam) out #the following sum sum(out$nha.class) # must be equal to the stand-level density (in trees/ha) df$expf<-10000/df$sup.plot;sum(df$expf) # Do you want to add the stand basal area segregated by `y.for.class` out2<-standtab(data=df,plot.area="sup.plot",y.for.class = "dap", yclass.amp = amp.diam, want.basal.area = TRUE) out2 #the following sum sum(out2$gha.class) # must be equal to the stand-level basal area (in m2/ha) df$g<-gtree(x=df$dap);df$gtree.ha<-df$g*df$expf;sum(df$gtree.ha)
Stand table for a secondary forest of Nothofagus dombeyi (coihue) en Chile.
data(standtabCoihue)data(standtabCoihue)
The data has the following columns
Diameter class, in cm.
Density for the respective diameter class, in trees/ha.
Basal area for the respective diameter class,
in m/ha.
The forest was located in the Andean foothills in the Araucanía region in southern Chile. Data from Prof. Christian Salas-Eljatib, Universidad de Chile, Santiago, Chile.
Donoso C. 1995. Bosques Templados de Chile y Argentina. Editorial Universitaria. Santiago, Chile.
data(standtabCoihue) df<-standtabCoihue df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = as.numeric(df$diam.cl), ylab="Density (trees/ha)",xlab="Diameter class (cm)") abline(h=0)data(standtabCoihue) df<-standtabCoihue df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = as.numeric(df$diam.cl), ylab="Density (trees/ha)",xlab="Diameter class (cm)") abline(h=0)
Tabla de rodal para un bosque secundario de Nothofagus dombeyi (coihue) en Chile.
data(standtabCoihue2)data(standtabCoihue2)
Los datos tienen las siguientes columnas
Marca de la clase diamétrica, en cm.
Densidad de la clase diamétrica, en arb/ha.
Área basal de la clase diamétrica,
en m/ha.
Bosque ubicado en sector Andino de la Región de la Araucanía en el sur de Chile. Cuadro cedido por el Prof. Christian Salas-Eljatib, Universidad de Chile, Santiago, Chile.
Donoso C. 1995. Bosques Templados de Chile y Argentina. Editorial Universitaria. Santiago, Chile.
data(standtabCoihue2) df<-standtabCoihue2 df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = as.numeric(df$cd), ylab="Densidad (arb/ha)",xlab="Clase diametrica (cm)") abline(h=0)data(standtabCoihue2) df<-standtabCoihue2 df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = as.numeric(df$cd), ylab="Densidad (arb/ha)",xlab="Clase diametrica (cm)") abline(h=0)
Stand tables for secondary Nothofagus alpina-dominated forests in different locations in southern Chile.
data(standtabRauli)data(standtabRauli)
The data has the following columns
Study site.
Location within a study site.
Lower limit of the diameter class, in cm.
Upper limit of the diameter class, in cm.
Diameter class, in cm.
Tree density for the respective diameter class, in trees/ha.
Forest ID code, a combination of columns site
and sector.
Tree density by diameter classes (i.e., stand table). Data were digitized from table No. 4 of Wadsworth (1976).
Wadsworth RK. 1976. Aspectos ecologicos y crecimiento del raulí (Nothofagus alpina) y sus asociados en bosques de segundo crecimiento de las provincias de Bío-Bío, Malleco y Cautín, Chile. Boletin Técnico No. 37, Fac. Cs. Forestales, Universidad de Chile, Santiago, Chile.
data(standtabRauli) head(standtabRauli) df<-standtabRauli table(df$site,df$sector,df$dclass)data(standtabRauli) head(standtabRauli) df<-standtabRauli table(df$site,df$sector,df$dclass)
Tablas de rodal para bosques secundarios dominados por Nothofagus alpina en diferentes localidades del sur de Chile.
data(standtabRauli2)data(standtabRauli2)
Los datos tienen las siguientes columnas
Nombre del sitio de estudio.
Código identificador de un sector específico dentro del sitio en estudio.
Límite inferior de la clase diamétrica, en cm.
Límite superior de la clase diamétrica, en cm.
Marca de la clase diamétrica, en cm.
Densidad de la clase diamétrica, en arb/ha.
Identificador del bosque, combinación de
sitio y sector.
Densidad de árboles por clase diamétrica, i.e., tabla de rodal. Datos digitados desde el cuadro No. 4 de Wadsworth (1976).
Wadsworth RK. 1976. Aspectos ecologicos y crecimiento del raulí (Nothofagus alpina) y sus asociados en bosques de segundo crecimiento de las provincias de Bío-Bío, Malleco y Cautín, Chile. Boletin Técnico No. 37, Fac. Cs. Forestales, Universidad de Chile, Santiago, Chile.
data(standtabRauli2) head(standtabRauli2) df<-standtabRauli2 table(df$sitio,df$sector,df$cd)data(standtabRauli2) head(standtabRauli2) df<-standtabRauli2 table(df$sitio,df$sector,df$cd)
Average stand table for secondary forests of Nothofagus obliqua (roble) forests, between 40 and 50 years-old, in the Malleco, Cautín, and Valdiva provinces in southern Chile.
data(standtabRoble)data(standtabRoble)
The data has the following columns
Diameter class, in cm.
Density for the respective diameter class, in trees/ha.
The stand table is from Puente et al. (1979), as a part of a study regarding secondary Nothofagus forests in southern Chile.
Puente M, C Donoso, R Peñaloza, E Morales. 1979. Estudio de raleo y otras técnicas para el manejo de renovales de raulí (Nothofagus alpina) y roble (Nothofagus obliqua). Etapa I: Identificación y caracterización de renovales de raulí y roble. Informe de convenio No. 5, Proyecto CONAF/PNUD/FAO-CHI/76/003, Santiago, Chile. 88 p.
data(standtabRoble) df<-standtabRoble df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = df$diam.cl, ylab="Density (trees/ha)",xlab="Diameter class (cm)") abline(h=0)data(standtabRoble) df<-standtabRoble df<-df[-nrow(df),] # Diameter distribution plot barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = df$diam.cl, ylab="Density (trees/ha)",xlab="Diameter class (cm)") abline(h=0)
Tabla de rodal media para renovales dominados por Nothofagus obliqua (roble), que tienen entre 40 y 50 años, en las provincias de Malleco, Cautín, y Valdiva, en el sur de Chile.
data(standtabRoble2)data(standtabRoble2)
Las columnas son las siguientes
Clase diamétrica, en cm.
Densidad para la respectiva clase diamétrica, en arb/ha.
La tabla de rodal proviene de Puente et al. (1979), y es el resultado de un estudio sobre los bosques secundarios de Nothofagus en el sur de Chile.
Puente M, C Donoso, R Peñaloza, E Morales. 1979. Estudio de raleo y otras técnicas para el manejo de renovales de raulí (Nothofagus alpina) y roble (Nothofagus obliqua). Etapa I: Identificación y caracterización de renovales de raulí y roble. Informe de convenio No. 5, Proyecto CONAF/PNUD/FAO-CHI/76/003, Santiago, Chile. 88 p.
data(standtabRoble2) df<-standtabRoble2 df<-df[-nrow(df),] # Grafico de distribucion diametrica barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = df$cd, ylab="Densidad (arb/ha)",xlab="Clase diametrica (cm)") abline(h=0)data(standtabRoble2) df<-standtabRoble2 df<-df[-nrow(df),] # Grafico de distribucion diametrica barplot(df$nha, legend = TRUE, beside = TRUE, las=1, names.arg = df$cd, ylab="Densidad (arb/ha)",xlab="Clase diametrica (cm)") abline(h=0)
Computes stand-level variables for a given sample plot. The variables are the following: density, basal area, quadratic diameter diameter, average height, top height, and stand volume.
standvar( data, plot.id, plot.area, time = NA, d, y, h = NA, factvar = NA, metric = TRUE, eng = TRUE, ... )standvar( data, plot.id, plot.area, time = NA, d, y, h = NA, factvar = NA, metric = TRUE, eng = TRUE, ... )
data |
data frame having the tree list of a sample plot. |
plot.id |
a string having the plot code-number or unique identificator. |
plot.area |
column name having the plot area in m |
time |
a number of year of measurement, if not provided the current year is assigned by default. |
d |
a text of the column-name having the diameter at
breast-heigth. By default is assumed to be in cm. See option
|
y |
a string-vector with the name(s) of the tree-level
variable(s) to which aggregated stand variables are needed
to be computed. For example, volume is such a variable. By
default is set to |
h |
a text of the column-name having the total height
of the tree. By default is set to NA. If provided this variable
is assumed to be measured in meters. See option
|
factvar |
a string having de name of the variable used as factor. Each level of the 'factvar' is a category. |
metric |
is a logic value, the default is to |
eng |
logical; if |
... |
aditional options for basic stats functions. |
For a given imputed tree list of a sample plot, several stand-level variales are computed. Note that the imputed-tree list must have all the tree-level variables needed to obtain the stand-level ones, such as, height, and volume. If there remeasurement for a plot, the computation is by plot and measurement year.
Returns a data frame with the the stand variables
per plot. If factvar is provided, the stand variables
will be a also computed for each level of the factvar.
Dominant diameter and dominant height are computed using
the function domvar().
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Biometría y Modelación Forestal. Borrador de libro, en revisión. 352 p.
df<-biometrics::eucaplot2 #see the metadata by typing ?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) ## Preparing the treelist, in the required format df$parce<-1;df$sup.plot<-500 ## Estimating tree-volume using an artifical factor form df$vol<-gtree(x=df$dap)*df$atot*0.35 ## Using the function standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vol") # Do the same as before, but adding the computation by a factor standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vol",factvar = "clase.copa") ## More than one aggregated variable. For instance, adding biomass ## and tree carbon, aside of volume. A naive estimation ## of tree-biomass and carbon, could be df$biom<-df$v*420 #(kg/m3) df$carb<-df$biom*0.5 #50% of biomass is carbon df standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb")) #what if the sample plot has a remeasurement df$measu.yr<-2025;df$measu.yr[1:5]<-2020 df #' ## Using the function per measurement year standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb"),time="measu.yr") # Do the same as before, but adding the computation by a factor standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb"),time="measu.yr", factvar = "clase.copa") # More than one plot df<-biometrics::radiatapl2 table(df$parce) ## naive imputation of tree-height df[is.na(df$atot),"atot"]<-df[is.na(df$atot),"dap"]*0.8 ## Estimating tree-volume using an artifical factor form df$vtot<-gtree(x=df$dap)*df$atot*0.35 datana::descstat(df[,c("dap","atot","vtot")]) df$sup.plot<-150 standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vtot") standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vtot",factvar = "sanidad")df<-biometrics::eucaplot2 #see the metadata by typing ?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) ## Preparing the treelist, in the required format df$parce<-1;df$sup.plot<-500 ## Estimating tree-volume using an artifical factor form df$vol<-gtree(x=df$dap)*df$atot*0.35 ## Using the function standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vol") # Do the same as before, but adding the computation by a factor standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vol",factvar = "clase.copa") ## More than one aggregated variable. For instance, adding biomass ## and tree carbon, aside of volume. A naive estimation ## of tree-biomass and carbon, could be df$biom<-df$v*420 #(kg/m3) df$carb<-df$biom*0.5 #50% of biomass is carbon df standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb")) #what if the sample plot has a remeasurement df$measu.yr<-2025;df$measu.yr[1:5]<-2020 df #' ## Using the function per measurement year standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb"),time="measu.yr") # Do the same as before, but adding the computation by a factor standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y=c("vol","biom","carb"),time="measu.yr", factvar = "clase.copa") # More than one plot df<-biometrics::radiatapl2 table(df$parce) ## naive imputation of tree-height df[is.na(df$atot),"atot"]<-df[is.na(df$atot),"dap"]*0.8 ## Estimating tree-volume using an artifical factor form df$vtot<-gtree(x=df$dap)*df$atot*0.35 datana::descstat(df[,c("dap","atot","vtot")]) df$sup.plot<-150 standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vtot") standvar(data=df,plot.id="parce",plot.area="sup.plot", d="dap",h="atot",y="vtot",factvar = "sanidad")
Function of the Strand model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
strand.fx(x, alpha, beta, upsilon = 0)strand.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Strand L. 1964. Numerical constructions of site-index curves. Forest Sci. 10(4):410-414.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-strand.fx(x=time,alpha=1.15,beta=.37) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-strand.fx(x=time,alpha=1.15,beta=.37) plot(time,y,type="l")
Function of the Strand generalized model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
strandg.fx(x, alpha, beta, gamma, upsilon = 0)strandg.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Strand L. 1964. Numerical constructions of site-index curves. Forest Sci. 10(4):410-414.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-strandg.fx(x=time,alpha=0.98,beta=0.52,gamma=4.83) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-strandg.fx(x=time,alpha=0.98,beta=0.52,gamma=4.83) plot(time,y,type="l")
Corresponde a mediciones de diámetros fustales, con y sin corteza, para árboles muestra en plantaciones de Eucalyptus regnans en la comuna de Gorbea, región de la Araucanía, Chile. Note que existen por lo tanto, varias mediciones para cada árbol.
data(tapereuca2)data(tapereuca2)
Contiene las siguientes variables:
Número del árbol.
Número de sección del árbol narb.
Altura fustal de la sección sec, en m.
Diámetro de la sección sec con corteza, en cm.
Diámetro de la sección sec sin corteza, en cm.
Espesor de corteza de la sección sec.
Forma del árbol, en donde 1 = Fuste cilíndrico y 2
= Fuste acilíndrico (pequeña curvatura).
Diámetro a la altura del pecho (1.3 m) en cm.
Doble espesor de corteza en el dap.
Altura total del árbol narb, en m.
Diámetro con corteza en hcc.
Altura de comienzo de copa del árbol narb, m.
Los datos provienen de la Tesis de Ingeniero Forestal de Manuel Morales, UFRO.
Morales, M. (2003). Modelos fustales para Eucalyptus regnans F. Muell., en la comuna de Gorbea, Novena Región. Tesis Ingeniero Forestal. Universidad de La Frontera. Temuco, Chile. 43p.
data(tapereuca2) lattice::xyplot(dlcc~hl, data=tapereuca2, type = "l", groups = narb)data(tapereuca2) lattice::xyplot(dlcc~hl, data=tapereuca2, type = "l", groups = narb)
Polynomial function of Carrasco (1986)
taperpoly.fx(hl = hl, hcc = hcc, paramod = paramod, n = (length(paramod) - 1))taperpoly.fx(hl = hl, hcc = hcc, paramod = paramod, n = (length(paramod) - 1))
hl |
is stem height within the tree, thus |
hcc |
is height to crown base. |
paramod |
is a vector having the coefficients
of the taper model in the following order up to |
n |
degree of the polynomic function |
This function takes the form of
where: is the stem diameter at stem-height
for the i-th tree; and are
the tree-level variables diameter at breast height and total height
respectively for the i-th tree, and $n$ is the degree of the
polynomial. The other term is
Returns the diameter of the stem at the
stem-height , thus , divided by the diameter at
breast height (1.3). This is
Christian Salas-Eljatib and Nicolás Campos
Carrasco, J. 1986. Estudio Comparativo de dos Métodos para Evaluar la Calidad a árboles en pie y para representar la Forma del Fuste en el Bosque Siempreverde valdiviano. Tesis Ingeniero Forestal. Universidad Austral de Chile. Valdivia, Chile. 117 p.
dl <- seq(40, 0, -5) hl <- seq(0, 16, 2) d <- 30 hcc <- 12 h <- max(hl) df <- data.frame(dl = dl, hl = hl, d = d, hcc = hcc, h = h) df myparams <- c(0.3, 0.8, 0.00003) taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams, n = 2) df$y <- taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams, n = 2) ## the n parameter is not necesary df$y2 <- taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams) df$dl.h <- df$y * df$d dfdl <- seq(40, 0, -5) hl <- seq(0, 16, 2) d <- 30 hcc <- 12 h <- max(hl) df <- data.frame(dl = dl, hl = hl, d = d, hcc = hcc, h = h) df myparams <- c(0.3, 0.8, 0.00003) taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams, n = 2) df$y <- taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams, n = 2) ## the n parameter is not necesary df$y2 <- taperpoly.fx(hl = df$hl, hcc = df$hcc, paramod = myparams) df$dl.h <- df$y * df$d df
The average of stand variables per thinning treatments applied to
secondary forest of Drymis winteri in Hueicolla, in the Coastal
range of Valdivia (Chile). Data are measurements carried out during
1986 and 1990. The thinning treatments are as follows:
distance among trees of 2 m, 3 m, y 4 m; release thinning, and
control (i.e., no thinning).
The values are the mean of the following stand variables: density
(trees/ha), basal area (/ha) and volume (/ha).
data(thinningtrial)data(thinningtrial)
The dataframe has the following columns:
Thinning treatment: distance among trees of 2m, 3m, and 4m; release thinning; and control.
Year of measurement (1986 o 1990)
Average density, in arb/ha.
Average basal area, in m/ha
Average volume, in m/ha.
Data were derived from the tables number 4, 6 and 7, of the paper of Navarro et al. (1997).
Navarro, C., Donoso, P., y Rosas, M. (1997). Crecimiento de renovales de Drymis winteri sometidos a distintos tratamientos de raleo. En: Donoso, C. (Ed.), Bosques templados de Chile y Argentina. Editorial Universitaria, Santiago de Chile.
data(thinningtrial) head(thinningtrial) df<-thinningtrial require(lattice) xyplot(nha~time|treat, data=df, type="b",as.table=TRUE) xyplot(nha~time,groups=treat, data=df, type="b",auto.key = TRUE) xyplot(gha~time|treat, data=df, type="b",as.table=TRUE)data(thinningtrial) head(thinningtrial) df<-thinningtrial require(lattice) xyplot(nha~time|treat, data=df, type="b",as.table=TRUE) xyplot(nha~time,groups=treat, data=df, type="b",auto.key = TRUE) xyplot(gha~time|treat, data=df, type="b",as.table=TRUE)
Valores medios de variables de estado de rodal en un ensayo de raleo
de renovales de Drymis winteri en Hueicolla, en la Cordillera de
la costa de Valdivia (Chile). Las mediciones se realizaron los
años 1986 y 1990. Los tratamientos de raleo son:
distanciamiento entre árboles de 2 m, 3 m, y 4 m; raleo de liberación,
y testigo (i.e., sin intervención).
Los valores son la media de las siguientes variables de rodal: densidad
(arb/ha), area basal (/ha) y volumen (/ha).
data(thinningtrial2)data(thinningtrial2)
Los datos contienen las siguientes columnas:
Tratamiento de raleo: distanciamiento a 2m, 3m, y 4m; raleo de liberación; y testigo.
Año de evaluación (1986 o 1990)
Densidad media, en arb/ha.
Área basal media, en m/ha
Volumen medio, en m/ha.
Datos digitados desde los cuadro 4, 6 y 7 de Navarro et al. (1997).
Navarro, C., Donoso, P., y Rosas, M. (1997). Crecimiento de renovales de Drymis winteri sometidos a distintos tratamientos de raleo. En: Donoso, C. (Ed.), Bosques templados de Chile y Argentina. Editorial Universitaria, Santiago de Chile.
data(thinningtrial2) head(thinningtrial2) df<-thinningtrial2 require(lattice) xyplot(nha~tiempo|trat, data=df, type="b",as.table=TRUE) xyplot(nha~tiempo,groups=trat, data=df, type="b",auto.key = TRUE) xyplot(gha~tiempo|trat, data=df, type="b",as.table=TRUE)data(thinningtrial2) head(thinningtrial2) df<-thinningtrial2 require(lattice) xyplot(nha~tiempo|trat, data=df, type="b",as.table=TRUE) xyplot(nha~tiempo,groups=trat, data=df, type="b",auto.key = TRUE) xyplot(gha~tiempo|trat, data=df, type="b",as.table=TRUE)
Diameter and height growth of 66 Grand-fir trees. Data derived from stem analysis sample trees collected by Dr. Albert Stage (US Forest Service, Moscow, ID, USA.)
data(treegrowth)data(treegrowth)
Contains seven column, as follows:
Tree number identificator. An unique number to each sample tree.
Forest type.
Forest habitat type.
A composite tree code representing the following
columns: tree.id-forest-habitat
Age, in yr
Diameter at breast-height, in cm. Originally measured in inches, and was converted to cm using a single decimal.
Total height, in m. Originally measured in feet, and was converted to m using a single decimal.
Originally, the data were provided by Dr. Albert Stage (R.I.P) to Professor Andrew Robinson (University of Idaho, USA), whom used them to explain the fitting of statistical models. Dr Christian Salas-Eljatib was a former graduate student of Statistics of Prof. Robinson at the Univ. of Idaho.
Stage, A. R., 1963. A mathematical approach to polymorphic site index curves for Grand fir. Forest Science 9 (2), 167–180.
data(treegrowth) df<-treegrowth head(df) require(lattice) xyplot(dbh~age, groups = tree.code,data=df, type="b")data(treegrowth) df<-treegrowth head(df) require(lattice) xyplot(dbh~age, groups = tree.code,data=df, type="b")
Crecimiento en diámetro y altura de 66 árboles de Grand-fir. Los datos fueron derivados a partir de árboles muestras de análisis fustal colectados por el Dr. Albert Stage (US Forest Service, Moscow, ID, USA.)
data(treegrowth)data(treegrowth)
Contiene las siguientes siete columnas:
Número identificador del árbol. Único para cada árbol muestra.
Tipo forestal.
Clasificacion de tipo de hábitat.
Un código que combina a las siguientes
columnas: num.arb-bosque-habitat
Edad, en años.
Diámetro a la altura del pecho, en cm. Originalmente fue medido en pulgadas, y acá se transformó empleando un solo decimal.
Altura total, in m. Originalmente esta variable fue medido en pies, y acá se transformó empleando un solo decimal.
En un principio los datos fueron cedidos por el Dr. Albert Stage (Q.E.P.D) al Profesor Andrew Robinson (University of Idaho, USA), quien los usaba para explicar el ajuste de modelos estadísticos. El Dr. Christian Salas-Eljatib fue un estudiante de postgrado en estadistica del Prof. Robinson en la Univ. of Idaho.
Stage, A. R., 1963. A mathematical approach to polymorphic site index curves for Grand fir. Forest Science 9 (2), 167–180.
data(treegrowth2) df<-treegrowth2 head(df) require(lattice) xyplot(dap~edad, groups = cod.arb,data=df, type="b")data(treegrowth2) df<-treegrowth2 head(df) require(lattice) xyplot(dap~edad, groups = cod.arb,data=df, type="b")
Tree-level variables measured within three sample plots in a forest sampling effort. This sort of work is commonly referred as a forest inventory. Notice that plots might have different areas. The sampling was carried out in a secondary forest of Nothofagus obliqua in the Rucamanque experimental station, near the city of Temuco, in southern Chile.
data(treelistinve)data(treelistinve)
Contains tree-level variables, as follows:
Plot number.
Plot size, in m.
Tree identificator
Species common name as follows: Olivillo=Aextocicon puncatatum, Tepa=Laureliopsis philippiana, Lingue=Persea lingue, Coigue=Nothofagus dombeyi, Roble=Nothofagus obliqua, Other=Other
Diameter at breast-height, in cm.
Total height, in m. Only measured for some sample trees.
The data is provided courtesy of Prof. Christian Salas-Eljatib, Universidad de Chile (Santiago, Chile).
Salas C. 2001. Caracterización básica del relicto de Biodiversidad Rucamanque. Bosque Nativo, 29:3-9. https://eljatib.com/publication/2001-06-01_caracterizacion_basi/
Salas C. 2002. Ajuste y validación de ecuaciones de volumen para un relicto del bosque de Roble-Laurel-Lingue. Bosque 23(2): 81-92. doi:10.4067/S0717-92002002000200009 https://eljatib.com/publication/2002-07-01_ajuste_y_validacion_/
data(treelistinve) head(treelistinve) tapply(treelistinve$dbh,treelistinve$species,summary)data(treelistinve) head(treelistinve) tapply(treelistinve$dbh,treelistinve$species,summary)
Variables a nivel de árbol medidas en tres unidades de muestreo (i.e., parcelas) establecidas en un muestreo forestal. Este tipo de muestreo de bosques, es comunmente conocido como “inventario forestal”. Note que las parcelas podrían tener diferentes superficies. El muestreo fue realizado en un bosque secundario dominado por Nothofagus obliqua en el predio Rucamanque, en las cercanías de la ciudad de Temuco, en el sur de Chile.
data(treelistinve2)data(treelistinve2)
Contiene variables a nivel de árbol dentro de parcelas.
Número de la parcela de muestreo.
Superficie de la parcela, en m.
Número identificador del árbol.
Nombre común de especies como sigue: Olivillo=Aextocicon puncatatum, Tepa=Laureliopsis philippiana, Lingue=Persea lingue, Coigue=Nothofagus dombeyi, Roble=Nothofagus obliqua, Other=Other
Diámetro a la altura del pecho, en cm.
Altura total, en m. Solo medida en algunos árboles muestra.
Los datos fueron cedidos por el Prof. Christian Salas-Eljatib, Universidad de Chile (Santiago, Chile).
Salas C. 2001. Caracterización básica del relicto de Biodiversidad Rucamanque. Bosque Nativo, 29:3-9. https://eljatib.com/publication/2001-06-01_caracterizacion_basi/
Salas C. 2002. Ajuste y validación de ecuaciones de volumen para un relicto del bosque de Roble-Laurel-Lingue. Bosque 23(2): 81-92. doi:10.4067/S0717-92002002000200009 https://eljatib.com/publication/2002-07-01_ajuste_y_validacion_/
data(treelistinve2) unique(treelistinve2$parce) table(treelistinve2$parce,treelistinve2$sup.parce) tapply(treelistinve2$dap,treelistinve2$spp,summary)data(treelistinve2) unique(treelistinve2$parce) table(treelistinve2$parce,treelistinve2$sup.parce) tapply(treelistinve2$dap,treelistinve2$spp,summary)
factvar) per sample plot.Computes several descriptive statistics of variables at the tree-level per sample plot. It can also be be applied to compute them by levels of factor within each available plot.
treestat( data, plot.id, t = NA, y, d = NA, factvar = NA, full = FALSE, short.names = TRUE, metric = TRUE, eng = TRUE, want.add.d = FALSE, want.add.g = FALSE, ... )treestat( data, plot.id, t = NA, y, d = NA, factvar = NA, full = FALSE, short.names = TRUE, metric = TRUE, eng = TRUE, want.add.d = FALSE, want.add.g = FALSE, ... )
data |
data frame having the tree list of a sample plot. |
plot.id |
a string having the plot code-number or unique identificator. |
t |
(optional) a time variable having the the measurement
year (in numeric or character format). The default is |
y |
a string-vector with the name(s) of the random
variable(s) to which the descriptive statistics will be
computed. By default uses |
d |
(optional) a text with the name of the column of the
|
factvar |
a string having de name of the variable used as factor. Each level of the 'factvar' is a category. |
full |
logical; if |
short.names |
logical; if |
metric |
is a logic value, the default is |
eng |
logical; if |
want.add.d |
logical; if |
want.add.g |
logical; if |
... |
aditional options for basic stats functions. |
For a given tree list of a sample plot, several descriptive statistics are computed for the selected random variables, by plot and measurement year.
Returns a data frame with the statistics per plot and
time for the selected y variables. If factvar is given, the
same statistics will be added but segregated by each level
(or category) of the factvar.
Christian Salas-Eljatib.
Salas-Eljatib C. 2025. Biometría y Modelación Forestal. Borrador de libro, en revisión. 352 p.
# Dataframe to be used df<-biometrics::eucaplot2 #?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) df$parce<-1 ## Using the function treestat(data=df,plot.id="parce",y="atot") # Now, for two random variables, instead of a single one treestat(data=df,plot.id="parce",y=c("dap","atot")) # If the d is provided, Do you want to add both the diameter # and the basal area (g), as random variables? treestat(data=df,plot.id="parce",y="atot",d="dap",want.add.d=TRUE,want.add.g=TRUE) ## Do the same as before, but adding the computation by a factor treestat(data=df,plot.id="parce",y="atot",factvar="clase.copa") df$time<-2025;df$time[1:5]<-2020 df ## Using the function per measurement year treestat(data=df,plot.id="parce",y="atot",t="time",full=TRUE) # Do the same as before, but adding the computation by a factor treestat(data=df,plot.id="parce",y="atot",t="time", factvar="clase.copa",full = TRUE) ## same as before, but for two random variables treestat(data=df,plot.id="parce",y=c("dap","atot"),t="time", factvar="clase.copa",full = TRUE)# Dataframe to be used df<-biometrics::eucaplot2 #?eucaplot2 head(df) datana::descstat(df[,c("dap","atot")]) df$parce<-1 ## Using the function treestat(data=df,plot.id="parce",y="atot") # Now, for two random variables, instead of a single one treestat(data=df,plot.id="parce",y=c("dap","atot")) # If the d is provided, Do you want to add both the diameter # and the basal area (g), as random variables? treestat(data=df,plot.id="parce",y="atot",d="dap",want.add.d=TRUE,want.add.g=TRUE) ## Do the same as before, but adding the computation by a factor treestat(data=df,plot.id="parce",y="atot",factvar="clase.copa") df$time<-2025;df$time[1:5]<-2020 df ## Using the function per measurement year treestat(data=df,plot.id="parce",y="atot",t="time",full=TRUE) # Do the same as before, but adding the computation by a factor treestat(data=df,plot.id="parce",y="atot",t="time", factvar="clase.copa",full = TRUE) ## same as before, but for two random variables treestat(data=df,plot.id="parce",y=c("dap","atot"),t="time", factvar="clase.copa",full = TRUE)
These is tree-level measurement data of sample trees in the Rucamanque experimental forest, near Temuco, in the Araucanía region in south-central Chile. Data were measured in 1999.
data(treevolruca)data(treevolruca)
Contains tree-level variables, as follows:
Tree number identification.
Tree species common name as follows: "Laurel" is Laurelia sempervirens, "Lingue" is Persea lingue, "Olivillo" is Aextoxicon punctatum, "Tepa" is Laureliopsis philippiana, "Tineo" is Weinmannia trichosperma, y "Ulmo" is Eucryphia cordifolia.
Diameter at breast height, in cm.
Total height, in m.
Upper-stem diameter at 6 m, in cm.
Tree gross volume, in m³ with bark.
The data were provided courtesy of Dr. Christian Salas-Eljatib, Universidad de Chile (Santiago, Chile).
Salas C. 2002. Ajuste y validación de ecuaciones de volumen para un relicto del bosque de Roble-Laurel-Lingue. Bosque 23(2): 81-92. doi:10.4067/S0717-92002002000200009 https://eljatib.com/publication/2002-07-01_ajuste_y_validacion_/
data(treevolruca) head(treevolruca) table(treevolruca$spp)data(treevolruca) head(treevolruca) table(treevolruca$spp)
Volumen, altura y diámetro, entre otras para árboles muestra en el bosque de Rucamanque, cerca de Temuco, en la región de la Araucanía, en el sur de Chile.
data(treevolruca2)data(treevolruca2)
Las siguientes columnas son parte de la dataframe:
Número del árbol.
Codificación de la especie como sigue: "Laurel" es Laurelia sempervirens, "Lingue" es Persea lingue, "Olivillo" es Aextoxicon punctatum, "Tepa" es Laureliopsis philippiana, "Tineo" es Weinmannia trichosperma, y "Ulmo" es Eucryphia cordifolia.
Diámetro a la altura del pecho, en cm.
Altura total, en m.
Diámetro fustal a los 6 m, en cm.
Volumen bruto total, en m con corteza.
Los datos fueron cedidos por el Dr. Christian Salas-Eljatib, Universidad de Chile (Santago, Chile).
Salas C. 2002. Ajuste y validación de ecuaciones de volumen para un relicto del bosque de Roble-Laurel-Lingue. Bosque 23(2): 81-92. doi:10.4067/S0717-92002002000200009 https://eljatib.com/publication/2002-07-01_ajuste_y_validacion_/
data(treevolruca2) head(treevolruca2) table(treevolruca2$spp)data(treevolruca2) head(treevolruca2) table(treevolruca2$spp)
Diameter at breast height (or occurrence) of individual trees, shrubs and tree ferns across 530 plots across the Hawaiian archipelago and includes native status and cultivated status of the 185 species.
data(trlhawaii)data(trlhawaii)
Contains 18 variables, as follows:
Island name.
Unique numeric identifier for each plot.
Brief name of study.
Plot area in m.
Longitude of plot in decimal degrees; WGS84 coordinate system.
Latitude of plot in decimal degrees; WGS84 coordinate system.
Year in which plot data was collected.
Numeric identifier for each census.
Unique numeric identifier for each individual.
Genus and species of each individual following TPL v. 1.1.
Family of each individual following TPL v. 1.1.
Binary variable (1 = yes, 0 = no) indicating whether
an individual is classified as an angiosperm following APG III.
Binary variable (1 = yes, 0 = no) indicating whether an
individual is classified as a monocot following APG III.
Categorical variable (native, alien, uncertain)
indicating alien status of each individual following Wagner et al. (2005).
Binary variable (1 = yes, 0 = no,
NA = not applicable) indicating if species is cultivated following PIER.
Number of individuals (all = 1).
Abundance of each individual on a per hectare basis.
Diameter at 1.3 m (in cm) for each individual; NA indicates that
size was not measured, but was classified by size class.
The data were obtained from the DRYAD repository at doi:10.5061/dryad.1kk02qr.
Craven D, Knight T, Barton K, Bialic-Murphy L, Cordell S, Giardina C, Gillespie T, Ostertag R, Sack L,Chase J. 2018. OpenNahele: the open Hawaiian forest plot database. Biodiversity Data Journal 6: e28406.
data(trlhawaii) table(trlhawaii$island,trlhawaii$study) unique(trlhawaii$plot.id) table(trlhawaii$plot.id) tapply(trlhawaii$plot.area,trlhawaii$study,summary)data(trlhawaii) table(trlhawaii$island,trlhawaii$study) unique(trlhawaii$plot.id) table(trlhawaii$plot.id) tapply(trlhawaii$plot.area,trlhawaii$study,summary)
Temporal tree-level data within four sample plots
in an experimental forest in Austria. The dataframe contains several
tree-level variables. Plot sizes are 2500 m (approx.).
data(trlpsptime)data(trlpsptime)
Contains tree-level variables, as follows:
Plot number.
Tree identificator.
Species code as follows: PCAB=Picea abies, LADC=Larix decidua, PNSY=Pinus sylvestris, FASY=Fagus Sylvatica, QCPE=Quercus petraea, BTPE=Betula pendula.
Year of measurement.
Observation.
Diameter at breast-height, in mm.
Orthogonal measured second diameter, in mm.
Selection criteria to measure tree height.
1=systematic, 2=systematic and in the group of the 100 thickest,
3=belongs to the 100 thickest, 4=lying tree, 5=Standing tree with a ladder,
6=outlier, 7=from stem analysis.
Type of the height measurement. 0=tree height,
1=angle and distances.
Tree height in dm when kh=0. When kh=1 then distance to the tree
in dm or in 1977 length of the base bar in cm.
Height to the crown base in dm when kh=0. When kh=1 then angle
to the tree top in 1/10 degree.
Crown width in dm when kh=0. When kh=1 then angle to 1.3 m
above tree base in 1/10 degree.
Angle to crown base in 1/10 degree.
Crown class according to Kraft. 1=predominant,
2=dominant, 3=co-dominant, 4=dominated, 5=overtopped.
Crown quality. 0=normal, 1=broken in the crown region,
2=substituted tree top, 3=forked, 4=bushy, stork nest, witches' broom,
5=wizen tree top, 6=again broken tree top.
Stem quality. 0=typical, 1=crooked, 2=abiotic damaged,
3=biotic damaged, 4=forked stem without damage, 5=forked stem with damage,
6=up to 1/3 of the girth is peeled,
7=more than 1/3 of the girth is peeled,
8=broken stem, 9=other stem damages.
crown defoliation. 1=low, 2=medium, 3=much.
The Austrian Research Center for Forests established a spacing experiment with Norway spruce (Picea abies) in the Vienna Woods. In the “Hauersteig” experiment, several tree-level variables were measured within four sample plots over time. Data were retrieved from the paper cited below, where several details might be worth reading.
Kindermann G. Kristofel F, Neumann M, Rossler G, Ledermann T & Schueler. 2018. 109 years of forest growth measurements from individual Norway spruce trees. Sci. Data 5:180077 doi:10.1038/sdata.2018.77
data(trlpsptime) df<-trlpsptime head(df) tapply(df$dbh, list(df$year,df$plot), mean)data(trlpsptime) df<-trlpsptime head(df) tapply(df$dbh, list(df$year,df$plot), mean)
Temporal tree-level data from a sample plot established in a
Monterey pine (Pinus radiata) forestry plantation in Chile.
The plot size is 1600 m, and the plantation was established
in 1990.
data(trlremeasu)data(trlremeasu)
Tree list data for a sample plot remeasured through time, and having the following columns
Plot code.
Tree number.
Cartesian position in the X-axis, in m.
Cartesian position in the Y-axis, in m.
Measurement year.
Dead identificator, 0 means alive, and 1 otherwise.
diameter at breast-height, in cm.
Data were retrieved from the paper cited below, where several details might be worth reading.
Pommerening A, Trincado G, Salas-Eljatib C, Burkhart H. 2023. Understanding and modelling the dynamics of data point clouds of relative growth rate and plant size. Forest Ecology and Management Volume 529:120652 doi:10.1016/j.foreco.2022.120652
data(trlremeasu) head(trlremeasu) df<-trlremeasu df$fe<-10000/1600 df$garb.ha<- (pi/40000)*df$dbh^2*df$fe gha.t<-tapply(df$garb.ha, df$year, sum) nha.t<-tapply(df$fe, df$year, sum); time<-as.numeric(rownames(gha.t)) plot(nha.t~time, type="b",las=1) plot(gha.t~time, type="b",las=1)data(trlremeasu) head(trlremeasu) df<-trlremeasu df$fe<-10000/1600 df$garb.ha<- (pi/40000)*df$dbh^2*df$fe gha.t<-tapply(df$garb.ha, df$year, sum) nha.t<-tapply(df$fe, df$year, sum); time<-as.numeric(rownames(gha.t)) plot(nha.t~time, type="b",las=1) plot(gha.t~time, type="b",las=1)
Temporal tree-level variables (smoothed-values) within four sample plots
in an experimental forest in Austria. The dataframe contains all
the variables for all trees, where observation gaps were
filled from monotone increasing predictive functions.
Plot sizes are 2500 m (approx.) and the current dataframe
only keeps the measurement years having a more reliable amount of records.
data(trlsmoopsp)data(trlsmoopsp)
Contains tree-level variables, as follows:
Plot number.
Tree identificator.
Year of measurement.
Species code as follows: PCAB=Picea abies, LADC=Larix decidua, PNSY=Pinus sylvestris, FASY=Fagus Sylvatica, QCPE=Quercus petraea, BTPE=Betula pendula.
Observation in this year.
Diameter at breast-height, in cm.
Tree height, in m.
Height to the crown base, in m.
The Austrian Research Center for Forests established a spacing experiment with Norway spruce (Picea abies) in the Vienna Woods. In the “Hauersteig” experiment, several tree-level variables were measured within four sample plots over time. Data were retrieved from the paper cited below, where several details might be worth reading.
Kindermann G. Kristofel F, Neumann M, Rossler G, Ledermann T & Schueler. 2018. 109 years of forest growth measurements from individual Norway spruce trees. Sci. Data 5:180077 doi:10.1038/sdata.2018.77
data(trlsmoopsp) df<-trlsmoopsp head(df) table(df$year,df$plot) tapply(df$dbh, list(df$year,df$plot), length)data(trlsmoopsp) df<-trlsmoopsp head(df) table(df$year,df$plot) tapply(df$dbh, list(df$year,df$plot), length)
Computes the U-estimator for a number of trees per-are (1 ha=100ares)
uestimator(sorty, n.per.are)uestimator(sorty, n.per.are)
sorty |
a vector having the tree-level variable of interest being already sorted according to a criterion. |
n.per.are |
number of needed trees per are for the sample plot. Remember that
1 are=100 m2 or 1 ha=100 ares. If |
Althought the original function was written by Dr Oscar García, and the corresponding reference is provided, the current function has several changes that makes it of a broader use.
The main output is the U-estimator for the random variable of interest.
Dr Oscar García and Christian Salas-Eljatib.
Garcia O, Batho A. 2005. Top height estimation in lodgepole pine sample plots. Western Journal of Applied forestry 20(1):64-68.
#Creates a fake dataframe h <- c(29.1,28, 24.5, 26, 21,20.5,20.1); sort.h<-sort(h,decreasing=FALSE);sort.h plot.area.m2<-500;plot.area.ha<-plot.area.m2/10000;plot.area.ha ndom.ha<-100;n.per.are<-plot.area.ha*ndom.ha; # Using the function uestimator(sort.h,n.per.are)#Creates a fake dataframe h <- c(29.1,28, 24.5, 26, 21,20.5,20.1); sort.h<-sort(h,decreasing=FALSE);sort.h plot.area.m2<-500;plot.area.ha<-plot.area.m2/10000;plot.area.ha ndom.ha<-100;n.per.are<-plot.area.ha*ndom.ha; # Using the function uestimator(sort.h,n.per.are)
Calculate the volume of objects, depending on their shapes or available measurements, to carry out the computation.
volume( form = "trapesoid", d = NA, h = NA, l = NA, d.u = "cm", h.u = "m", l.u = "m", o.u = "m3" )volume( form = "trapesoid", d = NA, h = NA, l = NA, d.u = "cm", h.u = "m", l.u = "m", o.u = "m3" )
form |
|
d |
|
h |
|
l |
Distance, generally the difference between two |
d.u |
|
h.u |
|
l.u |
|
o.u |
|
Value of volume.
Christian Salas-Eljatib and Nicolás Campos and Victor Pacheco
##- Data, diameters at different stem heights df <- data.frame(hl = c(0.3, 3.9, 7), dl = c(40, 20, 10)) df ##- Cilinder, needs a single diameter and height dst <- df$dl[1] hst <- df$hl[1] ## output in cubic centimeters volume(form = "cilinder", d = dst, l = hst, o.u = "cm3") ## in meters volume(form = "cilinder", d = dst, l = hst, o.u = "m3") ##- Trapesoid between first and second measurement, ## thus is for a single section. dl.a <- df$dl[c(1, 2)] hl.a <- df$hl[c(1, 2)] vs1<-volume(h = hl.a, d = dl.a) vs1 ##- Trapesoid, between first and third measurement ## thus is for a single section. dl.b <- df$dl[c(1, 3)] hl.b <- df$hl[c(1, 3)] volume(h = hl.b, d = dl.b) dl.b <- df$dl[c(2, 3)] hl.b <- df$hl[c(2, 3)] vs2<-volume(h = hl.b, d = dl.b) vs2 vs1+vs2 ##- Newton (only possible if three measurements are given) volume(form = "newton", h = df$hl, d = df$dl) ##- Huber, for all available measurements volume(form = "huber", d = df$dl, h = df$hl) ##- Huber given 1 diameter and 1 distance l.a <- diff(c(df$hl[1], df$hl[3])) volume(form = "huber", d = df$d[2], l = l.a)##- Data, diameters at different stem heights df <- data.frame(hl = c(0.3, 3.9, 7), dl = c(40, 20, 10)) df ##- Cilinder, needs a single diameter and height dst <- df$dl[1] hst <- df$hl[1] ## output in cubic centimeters volume(form = "cilinder", d = dst, l = hst, o.u = "cm3") ## in meters volume(form = "cilinder", d = dst, l = hst, o.u = "m3") ##- Trapesoid between first and second measurement, ## thus is for a single section. dl.a <- df$dl[c(1, 2)] hl.a <- df$hl[c(1, 2)] vs1<-volume(h = hl.a, d = dl.a) vs1 ##- Trapesoid, between first and third measurement ## thus is for a single section. dl.b <- df$dl[c(1, 3)] hl.b <- df$hl[c(1, 3)] volume(h = hl.b, d = dl.b) dl.b <- df$dl[c(2, 3)] hl.b <- df$hl[c(2, 3)] vs2<-volume(h = hl.b, d = dl.b) vs2 vs1+vs2 ##- Newton (only possible if three measurements are given) volume(form = "newton", h = df$hl, d = df$dl) ##- Huber, for all available measurements volume(form = "huber", d = df$dl, h = df$hl) ##- Huber given 1 diameter and 1 distance l.a <- diff(c(df$hl[1], df$hl[3])) volume(form = "huber", d = df$d[2], l = l.a)
Function of the Weibull allometric model, based upon three parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th observation;
and the rest are parameters (i.e., coefficients).
weib.fx(x, alpha, beta, gamma, upsilon = 0)weib.fx(x, alpha, beta, gamma, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
gamma |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Weibull W. 1951. A statistical distribution function of wide applicability. J. Appl. Mech.-Trans. ASME 18(3):293-297.
Yang RC, A Kozak, JH Smith. 1978. The potential of Weibull-type functions as flexible growth curves. Can. J. For. Res. 8(2):424-431.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-weib.fx(x=time,alpha=23.06,beta=.13,gamma=.63) plot(time,y,type="l")# Predictor variable values to be used time<-seq(5,60,by=0.01) # Using the function y<-weib.fx(x=time,alpha=23.06,beta=.13,gamma=.63) plot(time,y,type="l")
Function of the Wykoff model, based upon two parameters and a single predictor variable as follows
where: and are the response
and predictor variable, respectively, for the i-th
observation; and the rest are parameters (i.e., coefficients).
wykoff.fx(x, alpha, beta, upsilon = 0)wykoff.fx(x, alpha, beta, upsilon = 0)
x |
is the predictor variable. |
alpha |
is the coefficient-parameter |
beta |
is the coefficient-parameter |
upsilon |
is an optional constant term that force the prediction
of y when x=0. Thus, the new model becomes
|
Returns the response variable based upon the predictor variable and the coefficients.
Christian Salas-Eljatib.
Wykoff WR, NL Crookston, AR Stage. 1982. User’s guide to the Stand Prognosis Model. USDA For. Serv. Gen. Tech. Rep. INT-133, USA. 112 p.
Salas-Eljatib C. 2025. Funciones alométricas: reparametrizaciones y características matemáticas. Documento de trabajo No. 1, Serie: Cuadernos de biometría, Laboratorio de Biometría y Modelación Forestal, Universidad de Chile. Santiago, Chile. 51 p. https://biometriaforestal.uchile.cl
# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-wykoff.fx(x=d,alpha=3.87,beta=4.38,upsilon=1.3) plot(d,h,type="l")# Predictor variable values to be used d<-seq(5,60,by=0.01) # Using the function h<-wykoff.fx(x=d,alpha=3.87,beta=4.38,upsilon=1.3) plot(d,h,type="l")