Learn R Programming

siplab (version 1.6)

select: Competitor Selection Rules

Description

Functions returning TRUE for plants that compete with a given subject plant, or FALSE otherwise. The decision can depend on distance and plant marks. For use in pairwise().

Note: In previous versions of siplab the function names had .sel in place of _sel.

Usage

size_sel(imarks, jmarks, dists, dranks, par = list(k = 0.2, smark
    = 1))

powlinear_sel(imarks, jmarks, dists, dranks, par = list(ki = 0.2, kj = 0, p = 1, r0 = 0, smark=1))

Arguments

imarks

Marks for the subject plant, a 1-row data frame.

jmarks

Data frame with marks for potential competitors

dists

Vector of distances between the subject plant and the potential competitors.

dranks

Distance ranks.

par

List of parameters.

Value

Logical vector of length equal to the length of dists.

Details

The values of par are taken from the argument selpar of pairwise(), if not NULL.

smark in par must be 1 or “mark” if there is only one mark. If the marks are a data frame, smark must be the number or name of the column with the plant size variable.

size_sel() is a simple example where competitors are selected within a radius proportional to plant size. This corresponds to the second example in Section 9.2.1 of Burkhart and Tom<U+00E9> (2012).

Note that their first example (fixed radius) is implemented by giving a value to maxR in pairwise(), no select function is needed. Similarly, their third example (fixed number of nearest neighbors) is obtained by giving a value to maxN.

powlinear_sel() is a general form that covers all the other examples in Burkhart and Tom<U+00E9> (2012) by choosing specific parameters values (except for the competition elimination angle, which depends on relative positions among competitors and not only on distances). It implements a condition distance < ki * sizei^p + kj * sizej^p + r0, with the following special cases:

  • Multiple of crown radius: kj=0, p=1, r0=0, smark="crownwidth".

  • Angle count sampling: ki=0, p=1, r0=0, smark="dbh".

  • Areas of influence overlap: ki=kj, p=1, r0=0, if the radius is a linear function of size (p not 1 for an allometric relationship).

  • Vertical search cone: If the height of the cone vertex is constant, proportional to tree height, or more generally some linear function \(c_1 h_i + c_2\), then ki = \(- c_1 / \tan(90 - \beta/2)\), kj = \(1 / \tan(90 - \beta/2)\), p=1, r0 = \(- c_2 / \tan(90 - \beta/2)\), smark="height".

These and other examples could be coded directly if computational efficiency is important.

References

https://github.com/ogarciav/siplab

Burkhart, H. E. and Tom<U+00E9>, M. (2012) Modeling Forest Trees and Stands. Springer.

See Also

pairwise