R: Summarize

summarize-generics {terra} | R Documentation

## Summarize

### Description

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).

### Usage

    ## 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'
    mean(x, ..., trim=NA, na.rm=FALSE)

    ## S4 method for signature 'SpatRaster'
    median(x, na.rm=FALSE)

    ## S4 method for signature 'SpatRaster'
    stdev(x, ..., pop=TRUE, na.rm=FALSE)

    ## S4 method for signature 'SpatRaster'
    which.min(x)

    ## S4 method for signature 'SpatRaster'
    which.max(x)

### Arguments

`x` | SpatRaster
`...` | additional SpatRaster objects or numeric values; and arguments `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

### Value

SpatRaster

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

[Package terra version 1.3-22 Index]