Learn R Programming

terra (version 1.7-83)

subst: replace cell values

Description

Substitute(replace) cell values of a SpatRaster with a new value. See classify for more complex/flexible replacement.

Usage

# S4 method for SpatRaster
subst(x, from, to, others=NULL, raw=FALSE, filename="", ...)

Value

SpatRaster

Arguments

x

SpatRaster

from

numeric value(s). Normally a vector of the same length as `to`. If x has multiple layers, it can also be a matrix of numeric value(s) where nrow(x) == length(to). In that case the output has a single layer, with values based on the combination of the values of the input layers

to

numeric value(s). Normally a vector of the same length as `from`. If x has a single layer, it can also be a matrix of numeric value(s) where nrow(x) == length(from). In that case the output has multiple layers, one for each column in to

others

numeric. If not NULL all values that are not matched are set to this value. Otherwise they retain their original value.

raw

logical. If TRUE, the values in from and to are the raw cell values, not the categorical labels. Only relevant if is.factor(x)

filename

character. Output filename

...

Additional arguments for writing files as in writeRaster

See Also

classify

Examples

Run this code
r <- rast(ncols=5, nrows=5, xmin=0, xmax=1, ymin=0, ymax=1, crs="")
r <- init(r, 1:6)
x <- subst(r, 3, 7)
x <- subst(r, 2:3, NA)
x <- subst(x, NA, 10)

# multiple output layers
z <- subst(r, 2:3, cbind(20,30))

# multiple input layers
rr <- c(r, r+1, r+2)
m <- rbind(c(1:3), c(3:5))
zz <- subst(rr, m, c(100, 200))

Run the code above in your browser using DataLab