siplab-package: Spatial Individual-Plant Simulation

Description Details Author(s) References See Also Examples


A platform for experimenting with spatially explicit individual-based plant modelling


Package: siplab
Type: Package
Version: 1.2
Date: 2016-03-06
License: GPL

The main functions are assimilation, for fully spatial models, and pairwise, for pairwise-interaction competition indices.

assimilation computes effective resource capture (or “assimilation”) indices. One starts with a spatial resource distribution that is typically assumed to be uniform, Plants exert competitive pressure depending on size and distance, described by influence functions. The resource available at each point is allocated to plants according to their local influence and to a partition rule. Finally, the resource uptake is weighted by an efficiency function that depends on size and distance, and is spatially integrated to obtain the plant's assimilation index. Several examples of influence and efficiency functions are pre-programmed, see influence and efficiency.

Another class of spatial individual-plant models consider only pairwise interactions between a plant and each of its neighbors, ignoring higher-order interactions. These are implemented in function pairwise.

The edges function is useful for handling edge effects.

Some sample data sets are included, see links below.

The package is built on top of the spatstat library (, which needs to be installed first.


Oscar García

Maintainer: O. Garcia <>


García, O. “Siplab, a spatial individual-based plant modelling system”. Computational Ecology and Software 4(4), 215-222. 2014. (

García, O. “A generic approach to spatial individual-based modelling and simulation of plant communities”. Mathematical and Computational Forestry and Nat.-Res. Sci. (MCFNS) 6(1), 36-47. 2014. (

See Also

Example siplab data sets: boreasNP, boreasNS, boreasSA, boreasSP.

Some spatstat standard data sets may also be of interest: finpines, longleaf, spruces, waka.


# Assume data given as a simple data frame
data <- #  from a spatstat data set
head(data) # x-y coordinates in a 56x38 m plot, marks are dbh in meters
# Convert to a point pattern object, dbh in cm
datap <- ppp(data$x, data$y, c(0, 56), c(0, 38), marks = data$marks * 100)
# Hegyi (1974) index
hegyi <- pairwise(datap, maxR = 6, kernel = powers.ker, kerpar = list(pi=1,
    pj=1, pr=1, smark=1))
# ZOI model
zoi <- assimilation(datap, influence=zoi.inf, infpar=c(k=0.2, smark=1),

Search within the siplab package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.