Boltzmann entropy (also called configurational entropy) has been recently adopted to analyze entropy of landscape gradients (Gao et al. (2017), Gao et al. (2018)). The goal of belg is to provide an efficient C++ implementation of this method in R. It also extend the original idea by allowing calculations on data with negative and missing values.
You can install the released version of belg from CRAN with:
install.packages("belg")
And the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("Nowosad/belg")
As an example, we use two small rasters - complex_land
representing a complex landscape and simple_land
representing a simple landscape:
library(raster)
library(belg)
plot(stack(complex_land, simple_land))
The main function in this package, get_boltzmann
, calculates the Boltzmann entropy of a landscape gradient:
get_boltzmann(complex_land)
#> [1] 48.43241
get_boltzmann(simple_land)
#> [1] 18.3818
This function accepts a RasterLayer
, RasterStack
, RasterBrick
, matrix
, or array
object as an input. It also allows for calculation of the relative (the relative
argument equal to TRUE
) and absolute Boltzmann entropy of a landscape gradient. As a default, it uses a logarithm of base 10 (log10
), however log
and log2
are also available options for the base
argument.
get_boltzmann(complex_land, base = "log")
#> [1] 111.5198
get_boltzmann(complex_land, relative = TRUE)
#> [1] 35.50168
get_boltzmann(complex_land, base = "log2", relative = TRUE)
#> [1] 117.934