unique.Rd
This method returns the unique values in a SpatRaster, or removes duplicates records (geometry and attributes) in a SpatVector.
# S4 method for SpatRaster
unique(x, incomparables=FALSE, digits=NA, na.rm=TRUE, as.raster=FALSE)
# S4 method for SpatVector
unique(x, incomparables=FALSE, ...)
SpatRaster or SpatVector
logical. If FALSE
and x
is a SpatRaster: the unique values are determined for all layers together, and the result is a matrix. If TRUE
, each layer is evaluated separately, and a list is returned. If x
is a SpatVector this argument is as for a data.frame
integer. The number of digits for rounding the values before finding the unique values. Use NA
means to not do any rounding
logical. If TRUE
, NaN
is included if there are any missing values
logical. If TRUE
, a single-layer categorical SpatRaster with the unique values is returned
additional arguments passed on to unique
If x
is a SpatRaster: data.frame or list (if incomparables=FALSE
)
If x
is a SpatVector: SpatVector
r <- rast(ncols=5, nrows=5)
values(r) <- rep(1:5, each=5)
unique(r)
#> lyr.1
#> 1 1
#> 2 2
#> 3 3
#> 4 4
#> 5 5
s <- c(r, round(r/3))
unique(s)
#> lyr.1 lyr.1
#> 1 1 0
#> 2 2 1
#> 3 3 1
#> 4 4 1
#> 5 5 2
unique(s,TRUE)
#> [[1]]
#> [1] 1 2 3 4 5
#>
#> [[2]]
#> [1] 0 1 2
#>
unique(s, as.raster=TRUE)
#> class : SpatRaster
#> dimensions : 5, 5, 1 (nrow, ncol, nlyr)
#> resolution : 72, 36 (x, y)
#> extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84
#> source(s) : memory
#> categories : label, lyr.1, lyr.1.1
#> name : label
#> min value : 1_0
#> max value : 5_2
v <- vect(cbind(x=c(1:5,1:5), y=c(5:1,5:1)),
crs="+proj=utm +zone=1 +datum=WGS84")
nrow(v)
#> [1] 10
u <- unique(v)
nrow(u)
#> [1] 5
values(v) <- c(1:5, 1:3, 5:4)
unique(v)
#> class : SpatVector
#> geometry : points
#> dimensions : 7, 1 (geometries, attributes)
#> extent : 1, 5, 1, 5 (xmin, xmax, ymin, ymax)
#> coord. ref. : +proj=utm +zone=1 +datum=WGS84 +units=m +no_defs
#> names : value
#> type : <int>
#> values : 1
#> 2
#> 3