Compute statistics for the cells of each layer of a Raster* object. In the raster package, functions such as max, min, and mean, when used with Raster* objects as argument, return a new Raster* object (with a value computed for each cell). In contrast, cellStats returns a single value, computed from the all the values of a layer. Also see layerStats
## S4 method for signature 'RasterLayer'cellStats(x, stat='mean', na.rm=TRUE, asSample=TRUE,...)## S4 method for signature 'RasterStackBrick'cellStats(x, stat='mean', na.rm=TRUE, asSample=TRUE,...)
Arguments
x: Raster* object
stat: The function to be applied. See Details
na.rm: Logical. Should NA values be removed?
asSample: Logical. Only relevant for stat=sd in which case, if TRUE, the standard deviation for a sample (denominator is n-1) is computed, rather than for the population (denominator is n)
...: Additional arguments
Returns
Numeric
Details
cellStats will fail (gracefully) for very large Raster* objects except for a number of known functions: sum, mean, min, max, sd, 'skew' and 'rms'. 'skew' (skewness) and 'rms' (Root Mean Square) must be supplied as a character value (with quotes), the other known functions may be supplied with or without quotes. For other functions you could perhaps use a sample of the RasterLayer that can be held in memory (see sampleRegular )
See Also
freq, quantile, minValue, maxValue, setMinMax
Examples
r <- raster(nrow=18, ncol=36)values(r)<- runif(ncell(r))*10# works for large filescellStats(r,'mean')# same, but does not work for very large filescellStats(r, mean)# multi-layer objectcellStats(brick(r,r), mean)