Deep copy
deepcopy.Rd
Make a deep copy of a SpatRaster or SpatVector. This is occasionally useful when wanting to use a replacement function in a shallow copy. That is a copy that was created like this: x <- y
. If you use a replacement function to change an object, its shallow copies also change.
Examples
r <- rast(ncols=10, nrows=10, nl=3)
tm <- as.Date("2001-05-03") + 1:3
time(r) <- tm
time(r)
#> [1] "2001-05-04" "2001-05-05" "2001-05-06"
x <- r
time(x) <- tm + 365
time(x)
#> [1] "2002-05-04" "2002-05-05" "2002-05-06"
time(r)
#> [1] "2002-05-04" "2002-05-05" "2002-05-06"
y <- deepcopy(r)
time(y) <- tm - 365
time(y)
#> [1] "2000-05-04" "2000-05-05" "2000-05-06"
time(r)
#> [1] "2002-05-04" "2002-05-05" "2002-05-06"
# or make a new object like this
z <- rast(r)
time(z) <- tm
time(z)
#> [1] "2001-05-04" "2001-05-05" "2001-05-06"
time(r)
#> [1] "2002-05-04" "2002-05-05" "2002-05-06"