Create, modify, and delete cell values/layers/attributes of Spat*
objects
Source: R/mutate-Spat.R
mutate.Spat.Rd
mutate()
adds new layers/attributes and preserves existing ones on a
Spat*
object. transmute()
adds new layers/attributes and drops existing
ones. New variables overwrite existing variables of the same name. Variables
can be removed by setting their value to NULL
.
Arguments
- .data
A
SpatRaster
created withterra::rast()
or aSpatVector
created withterra::vect()
.- ...
<
data-masking
> Name-value pairs. The name gives the name of the layer/attribute in the output.
terra equivalent
Some terra methods for modifying cell values:
terra::ifel()
, terra::classify()
, terra::clamp()
, terra::app()
,
terra::lapp()
, terra::tapp()
Methods
Implementation of the generic dplyr::mutate()
, dplyr::transmute()
functions.
SpatRaster
Add new layers and preserves existing ones. The result is a
SpatRaster
with the same extent, resolution and crs than .data
. Only the
values (and possibly the number) of layers is modified.
transmute()
would keep only the layers created with ...
.
SpatVector
The result is a SpatVector
with the modified (and possibly renamed)
attributes on the function call.
transmute()
would keep only the attributes created with ...
.
See also
dplyr::mutate()
, dplyr::transmute()
methods.
terra provides several ways to modify Spat*
objects:
Other single table verbs:
arrange.SpatVector()
,
filter.Spat
,
rename.Spat
,
select.Spat
,
slice.Spat
,
summarise.SpatVector()
Other dplyr verbs that operate on columns:
glimpse.Spat
,
pull.Spat
,
relocate.Spat
,
rename.Spat
,
select.Spat
Other dplyr methods:
arrange.SpatVector()
,
bind_cols.SpatVector
,
bind_rows.SpatVector
,
count.SpatVector()
,
distinct.SpatVector()
,
filter-joins.SpatVector
,
filter.Spat
,
glimpse.Spat
,
group-by.SpatVector
,
mutate-joins.SpatVector
,
pull.Spat
,
relocate.Spat
,
rename.Spat
,
rowwise.SpatVector()
,
select.Spat
,
slice.Spat
,
summarise.SpatVector()
Examples
library(terra)
# SpatRaster method
f <- system.file("extdata/cyl_temp.tif", package = "tidyterra")
spatrast <- rast(f)
mod <- spatrast %>%
mutate(exp_lyr1 = exp(tavg_04 / 10)) %>%
select(tavg_04, exp_lyr1)
mod
#> class : SpatRaster
#> dimensions : 87, 118, 2 (nrow, ncol, nlyr)
#> resolution : 3881.255, 3881.255 (x, y)
#> extent : -612335.4, -154347.3, 4283018, 4620687 (xmin, xmax, ymin, ymax)
#> coord. ref. : World_Robinson
#> source(s) : memory
#> names : tavg_04, exp_lyr1
#> min values : 1.885463, 1.207493
#> max values : 13.283829, 3.774934
plot(mod)
# SpatVector method
f <- system.file("extdata/cyl.gpkg", package = "tidyterra")
v <- vect(f)
v %>%
mutate(cpro2 = paste0(cpro, "-CyL")) %>%
select(cpro, cpro2)
#> class : SpatVector
#> geometry : polygons
#> dimensions : 9, 2 (geometries, attributes)
#> extent : 2892687, 3341372, 2017622, 2361600 (xmin, xmax, ymin, ymax)
#> source : cyl.gpkg
#> coord. ref. : ETRS89-extended / LAEA Europe (EPSG:3035)
#> names : cpro cpro2
#> type : <chr> <chr>
#> values : 05 05-CyL
#> 09 09-CyL
#> 24 24-CyL