Renyi: Renyi's entropy (H)

View source: R/Renyi.R

RenyiR Documentation

Renyi's entropy (H)

Description

Computes Renyi's entropy ({}^qH) on different classes of numeric matrices using a moving window algorithm.

Usage

Renyi(x, window=3, alpha=1, base=exp(1), rasterOut=TRUE, 
np=1.0, na.tolerance=, cluster.type="SOCK", debugging=FALSE)

Arguments

x

input data may be a matrix, a Spatial Grid Data Frame, a RasterLayer or a list of these objects. In the latter case, only the first element of the list will be considered.

window

the side of the square moving window, it must be a odd numeric value greater than 1 to ensure that the target pixel is in the centre of the moving window. Default value is 3.

alpha

Order of diversity to compute the index. If alpha is a vector with length greater than 1, then the index will be calculated over x for each value in the sequence.

base

a numerical value which defines the base of the logarithm in Renyi's entropy formula. Default value is exp(1).

rasterOut

Boolean, if TRUE output will be in RasterLayer format with x as template.

np

the number of processes (cores) which will be spawned. Default value is 1.

na.tolerance

a numeric value (0.0-1.0) which indicates the proportion of NA values that will be tolerated to calculate Renyi's index in each moving window over x. If the relative proportion of NA's in a moving window is bigger than na.tolerance, then the value of the window will be set as NA, otherwise Rao's index will be calculated considering the non-NA values. Default values is 1.0 (i.e., no tolerance for NA's).

cluster.type

the type of cluster which will be created. The options are "MPI" (calls "makeMPIcluster"), "FORK" and "SOCK" (call "makeCluster"). Default type is "SOCK".

debugging

a boolean variable set to FALSE by default. If TRUE, additional messages will be printed. For debugging only.

Details

Renyi's entropy ({}^qH) is calculated on a numerical matrix as {}^qH = {1\over(1-q)} \ln(∑_{i=1}^{R} {p^q}_i), where q is the considered order of diversity (alpha), R is the total number of categories (i.e., unique numerical values in the considered numerical matrix) and p is the relative abundance of each category. If q=1, Shannon.R is called to calculate H' instead of the indefinite {}^1D, if p > 2*10^9, then BerkgerParker.R is called to calculate log(1/{}^∞ H). Renyi's entropy of low order weight more rare numerical categories, whereas values of higher order weight more dominant categories.

Value

A list of matrices with length equal to the length of "alpha". If length of "alpha" is 1, then a matrix of dimension dim(x).

Note

Linux users need to install libopenmpi for MPI parallel computing. Linux Ubuntu users may try: apt-get update; apt-get upgrade; apt-get install mpi; apt-get install libopenmpi-dev; apt-get install r-cran-rmpi

Microsoft Windows users may need some additional work to use "MPI", see:
https://bioinfomagician.wordpress.com/2013/11/18/installing-rmpi-mpi-for-r-on-mac-and-windows/

Author(s)

Matteo Marcantonio marcantoniomatteo@gmail.com
Martina Iannacito martina.iannacito@inria.fr
Duccio Rocchini duccio.rocchini@unibo.it

References

Rényi, A., 1970. Probability Theory. North Holland Publishing Company, Amsterdam.

See Also

Shannon, BergerParker

Examples

#Minimal example; compute Renyi's index with alpha 1:5 
a <- matrix(c(10,10,10,20,20,20,20,30,30),ncol=3,nrow=3)
renyi <- Renyi(x=a,window=3,alpha=1:5)


rasterdiv documentation built on Nov. 24, 2022, 9:07 a.m.