This function calculates Demetrius' entropy from vectors of age-specific survivorship (lx) and fecundity (mx).

entropy_d(lx, mx, ...)

Arguments

lx

Either a survivorship trajectory (a vector of monotonically-declining values in the interval [0,1]), or submatrix U from a matrix population model.

mx

Either an age-specific fecundity trajectory (a vector of non-negative values), or submatrix U from a matrix population model.

...

Additional variables passed to `mpm_to_lx` and `mpm_to_mx` if the data are supplied as matrices. This could include the `start` argument to select a starting stage.

Value

Demetrius' entropy.

Warning

Note that this function may produce unexpected results if used on partial survivorship and fecundity trajectories. In addition, it is sensitive to the length of the these vectors. We direct users to the functions `shape_surv` and `shape_rep` which are relatively robust to these issues.

References

Demetrius, L., & Gundlach, V. M. 2014. Directionality theory and the entropic principle of natural selection. Entropy 16: 5428-5522.

Author

Roberto Salguero-Gomez <rob.salguero@zoo.ox.ac.uk>

Patrick Barks <patrick.barks@gmail.com>

Examples

data(mpm1)

# derive trajectories of lx and mx, starting from stage 2
lx <- mpm_to_lx(mpm1$matU, start = 2)
mx <- mpm_to_mx(mpm1$matU, mpm1$matF, start = 2)

# calculate Demetrius' entropy
entropy_d(lx, mx)
#> [1] 2.062862

# calculate Demetrius' entropy directly from MPM
entropy_d(lx = mpm1$matU, mx = mpm1$matF, start = 2)
#> [1] 2.062862