R: Which cells are TRUE?

which {raster} | R Documentation

## Which cells are TRUE?

### Description

`Which` returns a RasterLayer with `TRUE` or `FALSE` setting cells that are `NA` to `FALSE` (unless `na.rm=FALSE`). If the RasterLayer has numbers, all values that are 0 become `FALSE` and all other values become `TRUE`. The function can also return the cell numbers that are `TRUE`

### Usage

    ## S4 method for signature 'RasterLayer'
    Which(x, cells=FALSE, na.rm=TRUE, ...)

### Arguments

`x` | RasterLayer
`cells` | logical. If `TRUE`, cell numbers are returned, otherwise a RasterLayer is returned
`na.rm` | logical. If `TRUE`, `NA` values are treated as `FALSE`, otherwise they remain `NA` (only when `cells=FALSE`)
`...` | Additional arguments (none implemented)

### Value

RasterLayer

### See Also

`which.max`, `which.min`

### Examples

    r <- raster(ncol=10, nrow=10)
    set.seed(0)
    r[] <- runif(ncell(r))
    r[r < 0.2 ] <- 0
    r[r > 0.8] <- 1
    r[r > 0 & r < 1 ] <- 0.5

    Which(r, cells=TRUE)
    Which(r > 0.5, cells=TRUE)

    s1 <- r > 0.5
    s2 <- Which(r > 0.5)
    s1[1:15]
    s2[1:15]

    # this expression
    x1 <- Which(r, na.rm=FALSE)
    # is the inverse of
    x2 <- r==0

[Package raster version 2.6-7 Index]