Compute summary statistics for cells, either across layers or between layers (parallel summary).
The following summary methods are available for SpatRaster: any, anyNA, all, allNA, max, min, mean, median, prod, range, stdev,sum, which.min, which.max. See modal to compute the mode and app to compute summary statistics that are not included here.
Because generic functions are used, the method applied is chosen based on the first argument: "x". This means that if r is a SpatRaster, mean(r, 5) will work, but mean(5, r) will not work.
The mean method has an argument "trim" that is ignored.
If pop=TRUEstdev computes the population standard deviation, computed as:
f <- function(x) sqrt(sum((x-mean(x))^2) / length(x))
This is different than the sample standard deviation returned by sd (which uses n-1 as denominator).
methods
## S4 method for signature 'SpatRaster'min(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'max(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'range(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'prod(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'sum(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'any(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'all(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'range(x,..., na.rm=FALSE)## S4 method for signature 'SpatRaster'which.min(x)## S4 method for signature 'SpatRaster'which.max(x)## S4 method for signature 'SpatRaster'stdev(x,..., pop=TRUE, na.rm=FALSE)## S4 method for signature 'SpatRaster'mean(x,..., trim=NA, na.rm=FALSE)## S4 method for signature 'SpatRaster'median(x, na.rm=FALSE,...)## S4 method for signature 'SpatRaster'anyNA(x)## S4 method for signature 'SpatRaster'countNA(x, n=0)## S4 method for signature 'SpatRaster'noNA(x, falseNA=FALSE)## S4 method for signature 'SpatRaster'allNA(x, falseNA=FALSE)
Arguments
x: SpatRaster
...: additional SpatRasters or numeric values; and arguments par for parallel summarization (see Details), and filename, overwrite and wopt as for writeRaster
na.rm: logical. If TRUE, NA values are ignored. If FALSE, NA is returned if x has any NA values
trim: ignored
pop: logical. If TRUE, the population standard deviation is computed. Otherwise the sample standard deviation is computed
falseNA: logical. If TRUE, cells that would otherwise be FALSE are set to NA
n: integer. If n > 0, cell values are TRUE if at least n of its layers are NA
Returns
SpatRaster
Details
Additional argument par can be used for "parallel" summarizing a SpatRaster and a numeric or logical value. If a SpatRaster x has three layers, max(x, 5) will return a single layer (the number five is treated as a layer in which all cells have value five). In contrast max(x, 5, par=TRUE) returns three layers (the number five is treated as another SpatRaster with a single layer with all cells having the value five.
See Also
app, Math-methods, modal, which.lyr
Examples
set.seed(0)r <- rast(nrows=10, ncols=10, nlyrs=3)values(r)<- runif(ncell(r)* nlyr(r))x <- mean(r)# note how this returns one layerx <- sum(c(r, r[[2]]),5)# and this returns three layersy <- sum(r, r[[2]],5)max(r)## when adding a number, do you want 1 layer or all layers?# 1 layermax(r,0.5)# all layersmax(r,0.5, par=TRUE)y <- stdev(r)# not the same as yy <- app(r, sd)z <- stdev(r, r*2)x <- mean(r, filename=paste0(tempfile(),".tif"))v <- values(r)set.seed(3)v[sample(length(v),50)]<-NAvalues(r)<- v
is.na(r)anyNA(r)allNA(r)countNA(r)countNA(r,2)