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 RasterLayer
cellStats(x, stat='mean', na.rm=TRUE, asSample=TRUE, ...)
# S4 method for 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

## 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`

)

## Examples

```
r <- raster(nrow=18, ncol=36)
values(r) <- runif(ncell(r)) * 10
# works for large files
cellStats(r, 'mean')
#> [1] 5.156144
# same, but does not work for very large files
cellStats(r, mean)
#> [1] 5.156144
# multi-layer object
cellStats(brick(r,r), mean)
#> layer.1 layer.2
#> 5.156144 5.156144
```