
Compute summary statistics for cells, either across layers or between layers (parallel summary).
The following summary methods are available for SpatRaster: any, all, 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=TRUE
stdev
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).
# S4 method for SpatRaster
min(x, ..., na.rm=FALSE)# S4 method for SpatRaster
max(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
range(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
prod(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
sum(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
any(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
all(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
range(x, ..., na.rm=FALSE)
# S4 method for SpatRaster
which.min(x)
# S4 method for SpatRaster
which.max(x)
# S4 method for SpatRaster
stdev(x, ..., pop=TRUE, na.rm=FALSE)
# S4 method for SpatRaster
mean(x, ..., trim=NA, na.rm=FALSE)
# S4 method for SpatRaster
median(x, na.rm=FALSE, ...)
SpatRaster
SpatRaster
additional SpatRaster objects or numeric values; and arguments filename
, overwrite
and wopt
as for writeRaster
logical. If TRUE
, NA
values are ignored. If FALSE
, NA
is returned if x
has any NA
values
ignored
logical. If TRUE
, the population standard deviation is computed. Otherwise the sample standard deviation is computed
app
, Math-methods
, modal
, which.lyr
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 layer
x <- sum(c(r, r[[2]]), 5)
# and this returns three layers
y <- sum(r, r[[2]], 5)
max(r)
max(r, 0.5)
y <- stdev(r)
# not the same as
yy <- app(r, sd)
z <- stdev(r, r*2)
x <- mean(r, filename=paste0(tempfile(), ".tif"))
Run the code above in your browser using DataLab