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
## S3 method for class 'RasterLayer':
cellStats(x, stat='mean', na.rm=TRUE, asSample=TRUE, ...)
## S3 method for class 'RasterStackBrick':
cellStats(x, stat='mean', na.rm=TRUE, asSample=TRUE, ...)
NA
values be removed?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
)cellStats
will fail (gracefully) for very large Raster* objects except for a number of known functions: sum, mean, min, max, sd, 'countNA'. 'countNA' 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 sampleRandom
and sampleRegular
)quantile
, minValue
, maxValue
, setMinMax
r <- raster(nrow=18, ncol=36)
r[] <- runif(ncell(r)) * 10
# works for large files
cellStats(r, 'mean')
# same, but does not work for very large files
cellStats(r, mean)
# multi-layer object
cellStats(brick(r,r), mean)
Run the code above in your browser using DataLab