Cross-tabulate
crosstab.RdCross-tabulate two RasterLayer objects, or mulitiple layers in a RasterStack or RasterBrick to create a contingency table.
Usage
# S4 method for class 'Raster,Raster'
crosstab(x, y, digits=0, long=FALSE, useNA=FALSE, progress='', ...)
# S4 method for class 'RasterStackBrick,missing'
crosstab(x, digits=0, long=FALSE, useNA=FALSE, progress='', ...)Arguments
- x
Raster* object
- y
Raster* object if
xis a RasterLayer; Can be missing ifxis a RasterStack or RasterBrick- digits
integer. The number of digits for rounding the values before cross-tabulation
- long
logical. If
TRUEthe results are returned in 'long' format data.frame instead of a table- useNA
logical, indicting if the table should includes counts of
NAvalues- progress
character. "text", "window", or "" (the default, no progress bar), only for large files that cannot be processed in one step
- ...
additional arguments. none implemented
Examples
r <- raster(nc=5, nr=5)
values(r) <- runif(ncell(r)) * 2
s <- setValues(r, runif(ncell(r)) * 3)
crosstab(r,s)
#> layer.2
#> layer.1 0 1 2 3
#> 0 3 4 2 0
#> 1 1 4 3 3
#> 2 0 2 2 1
rs <- r/s
r[1:5] <- NA
s[20:25] <- NA
x <- stack(r, s, rs)
crosstab(x, useNA=TRUE, long=TRUE)
#> layer.1 layer.2 layer.3 Freq
#> 1 0 0 1 1
#> 2 0 0 2 1
#> 3 0 1 0 2
#> 4 0 2 0 1
#> 5 0 NA 0 1
#> 6 0 NA 1 1
#> 7 1 0 3 1
#> 8 1 1 1 2
#> 9 1 2 0 1
#> 10 1 3 0 2
#> 11 1 NA 1 2
#> 12 1 NA 2 1
#> 13 2 1 1 1
#> 14 2 2 1 2
#> 15 2 NA 1 1
#> 16 NA 0 3 1
#> 17 NA 1 3 1
#> 18 NA 2 0 3