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
# S4 method for RasterLayer
Which(x, cells=FALSE, na.rm=TRUE, ...)
RasterLayer
RasterLayer
logical. If TRUE
, cell numbers are returned, otherwise a RasterLayer is returned
logical. If TRUE
, NA
values are treated as FALSE
, otherwise they remain NA
(only when cells=FALSE
)
Additional arguments (none implemented)
r <- raster(ncol=10, nrow=10)
set.seed(0)
values(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
Run the code above in your browser using DataLab