CTFS.densdepend {CTFS}R Documentation

Counting Neighbors and their Attributes - Investigating Density Dependence

Description

In order to identify the presence of density dependence for a focal species, attributes of the neighborhood surrounding the individuals of that species need to be determined. In the CTFS package, this is done using neighbordens.1sp, described in greater detail below. The result of this function is a dataframe containing measures of neighborhood attributes for each defined neighborhood for each tree of a focal species. This file can be used to analyse the effect of neighborhood conditions on the size, growth, mortality and recruitment of individuals for each species by combining it with the data for each tree of the focal species.

Details

PREPARATIONS

In order to run these functions, a dataset structured by quadrate needs to be created. It must be a list containing dataframes for each quadrate which, in turn, have the data for a single census for all the trees in each quadrate. This list is created from a CTFS census file. Use sep.quadinfo first to create a vector containing the quadrate number for each tree. Then sep.quadinfo, using this vector, will create an appropriately structured list. The example data sets are: tst.bci90.quad and tst.bci95.quad.

FUNCTIONS FOR COMPUTING NEIGHBORHOOD ATTRIBUTES

neighbordens.1sp

Cover function that returns a dataframe with neighborhood attributes for individuals of a single species (focal species). This function can be called from other functions to produce dataframes for many species.

neighbordens.1quad

Called by neighborhdens.1sp for each quadrate in the plot. Calls findborderquads to locate surrounding quadrates that constitute the area of the neighborhoods. This limits the searching for neighbors to only surrounding quadrates within the radius of the neighborhood. Then it calls countdens.1quad to compute neighborhood attributes for individuals of the focal species in a single quad.

countdens.1quad

Called by neighbordens.1quad for each quadrate using the subset of the data that contains the trees in the neighboring quadrates and the trees of the focal species. Using borderdist, the neighborhood attributes are set to NA for trees that are sufficiently close to a border of the plot such that for a given neighborhood distance, that neighborhood is not entirely within the plot.

countdens.1tree

This function actually computes the number and basal area of conspecifics and heterospecifics in a given neighborhood for a given individual tree of the focal species.

LIST OF FUNCTIONS CALLED BY USER FUNCTIONS

findborderquads identified bordering quadrates

xydistvect computes xy distance between points for vectors of points

fill.distclasses fills a matrix of values, structured for density dependent functions

borderdist computes distance to the plot border for a given coordinate pair

NEIGHBORHOOD ATTRIBUTES COMPUTED AND HOW TO COMPUTE OTHER ATTRIBUTES

Number of conspecifics, Ncon and sum of the basal area of all conspecifics, BAcon Number of heterospecifics, Nhet and sum of the basal area of all heterospecifics, BAhet

If the user wishes to compute other attributes of neighbors or select neighbors on other basis than being alive (or alive and broken), then the user should write new versions of countdens.1tree and/or countdens.1tree.1quad. The tree data for the focal species is contained in the variable focaldata and the data for the trees in the neighboring quadrates that could be valid neighbors is in the variable neighdata. These are both dataframes.

Changing the types of attributes computed from all living neighbors involves rewriting countdens.1tree. At this time countdens.1tree is passed only the dbh of a neighbor tree. If the desired attribute can be computed from that, then only countdens.1tree needs to be rewritten. If other information about the neighbor tree is needed, then the user needs to rewrite countdens.1tree and countdens.1tree.1quad so that the calling statements provide the needed variables for the user defined neighbor attribute.

If the user wishes to select neighbors based on other attributes than species name and status of alive (or alive but broken), it is suggested that the user rewrite countdens.1tree.1quad as this is where the subsetting of the focal species tree data and the neighbor tree data take place. The logical vector inc defines which neighbor trees to use. Redefining this vector would, most likely, be the simpliest adjustment. There is a comment in the code at the location of the definition of inc.

Author(s)

Rick Condit and Pamela Hall

See Also

CTFS.mortality, CTFS.growth, CTFS.recruitment, |link{CTFS-internal}

Examples

## Not run: 
data(tst.bci90.quad)
data(tst.bci90.spp)
socrex90.neigh <- neighbordens.1sp("socrex",tst.bci90.quad, tst.bci90.spp)
str(socrex90.neigh)
plot(socrex90.neigh$Ncon.0.5,tst.bci90.spp$socrex$dbh)
## End(Not run)

[Package CTFS version 1.00 Index]