list of distance-based competition index functions for the use
with compete_inv()
.
Usage
CI_Hegyi(target, neigh)
CI_Braathe(target, neigh)
CI_size(target, neigh)
CI_RK1(target, neigh)
CI_RK2(target, neigh)
CI_RK3(target, neigh)
CI_RK4(target, neigh)
Arguments
- target
single row
forest_inv
class data.table object containing all the variables needed to calculate the corresponding competition index for the target tree (i.e. ´x´, ´y´, as well as ´dbh´, ´height´, ´size´ and/or other size-related attributes).- neigh
forest_inv
class data.table object containing all the variables needed to calculate the corresponding competition index for all neighbor trees in the search radius of the target tree (i.e. ´x´, ´y´, as well as´dbh´, ´height´, ´size´ and/or other size-related attributes), that moreover includes their distance to the target tree in m (dist
).
Details
TreeCompR
provides a number of distance-based competition indices
for the use with compete_inv()
.
Available competition indices
The competition indices are computed according to the following equations, where \(d_i\) and \(h_i\) are the dbh and height of neighbor tree \(i\), \(d\) and \(h\) are dbh and height of the target tree, and \(dist_i\) is the distance from neighbor tree \(i\) to the target tree.
Diameter-based competition indices
CI_Hegyi introduced by Hegyi (1974):
\(CI_{Hegyi} = \sum_{i=1}^{n} d_{i} / (d \cdot dist_{i})\)CI_RK1 according to CI1 Rouvinen & Kuuluvainen (1997):
\(CI_{RK1} = \sum_{i=1}^{n} \mathrm{arctan}(d_{i} / dist_{i})\)CI_RK2 according to CI3 in Rouvinen & Kuuluvainen (1997):
\(CI_{RK2} =\sum_{i=1}^{n} (d_{i} / d) \cdot \mathrm{arctan}(d_{i} / dist_{i})\)
Height-based competition indices
CI_Braathe according to Braathe (1980):
\(CI_{Braathe} = \sum_{i=1}^{n} h_{i} / (h \cdot dist_{i})\)CI_RK3 according to CI5 in Rouvinen & Kuuluvainen (1997):
\(CI_{RK3} = \sum_{i=1}^{n} \mathrm{arctan}(h_{i} / dist_{i})\) for all trees with \(h_{i} > h\)CI_RK4 based on CI3 in Rouvinen & Kuuluvainen (1997) and Contreras et al. (2011):
\(CI_{RK4} = \sum_{i=1}^{n} (h_{i} / h) \cdot \mathrm{arctan}(h_{i} / dist_{i})\)
Generic size-based Hegyi-type competition index
CI_size based on Hegyi (1974), but with a user-specified size-related variable (\(s_i\): size for neighbor tree \(i\), \(s\): size of the target tree): \($CI_{size} = \sum_{i=1}^{n} s_{i} / (s \cdot dist_{i})\)
User-specified competition indices
The creation of new user-specified competition indices is easily possible,
the only requirement is that they take two arguments, target
(a single-row
forest_inv
class data.table with data for the target tree) and neigh
(a multi-row forest_inv
class data.table with data for the neighbor
trees), and return a single numeric value. This function will then be called
internally for each tree and its neighborhood inside compete_inv()
.
For example, a working implementation of the classical Hegyi index would
look like this:
CI_Hegyi <- function(target, neigh) sum(neigh$dbh / (target$dbh * neigh$dist))
It is advisable to add checks to ensure the function does the right thing
when it gets passed on empty datasets (e.g. because no trees are in the
neighborhood of a tree) because sum(NULL)
evaluates to 0
which may not
always be intended.
Literature
Hegyi, F., 1974. A simulation model for managing jackpine stands. In: Fries, J. (Ed.), Proceedings of IUFRO meeting S4.01.04 on Growth models for tree and stand simulation, Royal College of Forestry, Stockholm.
Braathe, P., 1980. Height increment of young single trees in relation to height and distance of neighboring trees. Mitt. Forstl. VersAnst. 130, 43–48.
Rouvinen, S., Kuuluvainen, T., 1997. Structure and asymmetry of tree crowns in relation to local competition in a natural mature Scot pine forest. Can. J. For. Res. 27, 890–902.
Contreras, M.A., Affleck, D. & Chung, W., 2011. Evaluating tree competition indices as predictors of basal area increment in western Montana forests. Forest Ecology and Management, 262(11): 1939-1949.
See also
read_inv()
to read forest inventory data,
define_target()
for designating target trees,
compete_inv()
for computing tree competition from inventory data,
plot_target()
to plot target tree positions in target_inv
and
compete_inv
objects.
Examples
if (FALSE) { # \dontrun{
# read data from all trees in a plot
data <- read_inv("path/to/data.csv")
# compute the Hegyi for the first tree in the dataset, assuming that all
# others were in its search radius
CI_Hegyi(data[1,], data[-1, ])
} # }