Estimation of Home Range by Clustering

Share:

Description

clusthr allows the estimation of the home range by clustering (see details).
plot.clusthr plots the results.
clusthr.area computes the home-range size for given percents of relocations included in the home range, and plots the results.
getverticesclusthr computes the coordinates of the vertices of the home ranges (kver.rast and kver2shapefile can be used to export the results toward GIS, see the help page of these functions).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
clusthr(xy, id = NULL)
## S3 method for class 'clusthr'
print(x, ...)
## S3 method for class 'clusthr'
plot(x, whi = names(x), pch = 21,
             bgpts = "white", colpts = "black", cex = 0.7,
             plotit = TRUE, colpol = "grey", ...)
clusthr.area(x, percent = seq(20, 100, by = 5),
             unin = c("m", "km"), unout = c("ha", "km2", "m2"),
             plotit = TRUE)
getverticesclusthr(x, whi = names(x), lev=95)

Arguments

xy

a data frame with two columns containing the coordinates of the relocation of the monitored animals

id

a factor giving the identity of the animal for each relocation

x

an object of class clusthr returned by the function clusthr

whi

a vector of character indicating the animals to be plotted

pch

either an integer specifying a symbol or a single character to be used as the default in plotting points. See points for possible values and their interpretation.

bgpts

background ("fill") color for the open plot symbols given by pch=21:25

colpts

character. The color of the points

cex

The size of the points (see help(par))

plotit

logical. Whether the plot should be drawn.

colpol

a character string indicating the colors to be used. Can be set to "grey", "terrain.colors", "heat.colors", "cm.colors", or NA

percent,lev

100 minus the proportion of outliers to be excluded from the home range

unin

the units of the relocations coordinates. Either "m" (default) for meters or "km" for kilometers

unout

the units of the output areas. Either "m2" for square meters, "km2" for square kilometers or "ha" for hectares (default)

...

additional arguments to be passed to the functions plot and print.

Details

This method estimates home range using a modification of single-linkage cluster analysis developped by Kenward et al. (2001). The clustering process is described hereafter: the three locations with the minimum mean of nearest-neighbour joining distances (NNJD) form the first cluster. At each step, two distances are computed: (i) the minimum mean NNJD between three locations (which corresponds to the next potential cluster) and (ii) the minimum of the NNJD between a cluster "c" and the closest location. If (i) is smaller that (ii), another cluster is defined with these three locations. If (ii) is smaller than (i), the cluster "c" gains a new location. If this new location belong to another cluster, the two cluster fuses. The process stop when all relocations are assigned to the same cluster.

At each step of the clustering process, the proportion of all relocations which are assigned to a cluster is computed (so that the home range can be defined to enclose a given proportion of the relocations at hand, i.e. to an uncomplete process). At a given step, the home range is defined as the set of minimum convex polygon enclosing the relocations in the clusters.

Value

clusthr returns a list of class clusthr. This list has one component per animal (named as the levels of argument id). Each component is itself a list, with the following sub-components:

xy

the animals' relocations

results

a data.frame with three columns: step indicates the step number of the algorithm, clust corresponds to the cluster assigned to some relocations, and reloc indicates the relocation(s) which is (are) assigned to the cluster "clust" at step "step"

plot.clusthr returns an invisible list (see invisible), with one component per animal. Each component is itself a list with one component per step of the clustering process. At each step, an object of class area describes the home range of the animal

clusthr.area returns a data.frame of class hrsize, which can be plotted using the generic function plot.

getverticesclusthr returns a list of class kver, where each element is an object of class area.

Author(s)

Clement Calenge clement.calenge@oncfs.gouv.fr

References

Kenwward R.E., Clarke R.T., Hodder K.H. and Walls S.S. (2001) Density and linkage estimators of homre range: nearest neighbor clustering defines multinuclear cores. Ecology, 82, 1905-1920.

See Also

kver for further information on objects of class kver.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
data(puechabon)
lo<-puechabon$locs[,c("X","Y")]

## Home Range Estimation
res <- clusthr(lo, puechabon$locs$Name)

## Displays the home range
plot(res)

## Computes the home range size
clusthr.area(res)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.