layerStats function

Correlation and (weighted) covariance

Correlation and (weighted) covariance

Compute correlation and (weighted) covariance for multi-layer Raster objects. Like cellStats this function returns a few values, not a Raster* object (see Summary-methods for that).

layerStats(x, stat, w, asSample=TRUE, na.rm=FALSE, ...)

Arguments

  • x: RasterStack or RasterBrick for which to compute a statistic
  • stat: Character. The statistic to compute: either 'cov' (covariance), 'weighted.cov' (weighted covariance), or 'pearson' (correlation coefficient)
  • w: RasterLayer with the weights (should have the same extent, resolution and number of layers as x) to compute the weighted covariance
  • asSample: Logical. If TRUE, the statistic for a sample (denominator is n-1) is computed, rather than for the population (denominator is n)
  • na.rm: Logical. Should missing values be removed?
  • ...: Additional arguments (none implemetned)

Returns

List with two items: the correlation or (weighted) covariance matrix, and the (weighted) means.

Author(s)

Jonathan A. Greenberg & Robert Hijmans. Weighted covariance based on code by Mort Canty

References

For the weighted covariance:

  • Canty, M.J. and A.A. Nielsen, 2008. Automatic radiometric normalization of multitemporal satellite imagery with the iteratively re-weighted MAD transformation. Remote Sensing of Environment 112:1025-1036.
  • Nielsen, A.A., 2007. The regularized iteratively reweighted MAD method for change detection in multi- and hyperspectral data. IEEE Transactions on Image Processing 16(2):463-478.

See Also

cellStats, cov.wt, weighted.mean

Examples

b <- brick(system.file("external/rlogo.grd", package="raster")) layerStats(b, 'pearson') layerStats(b, 'cov') # weigh by column number w <- init(b, v='col') layerStats(b, 'weighted.cov', w=w)
  • Maintainer: Robert J. Hijmans
  • License: GPL (>= 3)
  • Last published: 2025-03-28