crosstab.Rd
Cross-tabulate two RasterLayer objects, or mulitiple layers in a RasterStack or RasterBrick to create a contingency table.
# 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='', ...)
Raster* object
Raster* object if x
is a RasterLayer; Can be missing if x
is a RasterStack or RasterBrick
integer. The number of digits for rounding the values before cross-tabulation
logical. If TRUE
the results are returned in 'long' format data.frame instead of a table
logical, indicting if the table should includes counts of NA
values
character. "text", "window", or "" (the default, no progress bar), only for large files that cannot be processed in one step
additional arguments. none implemented
A table or data.frame
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 2 2 0
#> 1 1 3 5 3
#> 2 0 3 3 0
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 3 1
#> 3 0 1 0 1
#> 4 0 2 0 2
#> 5 0 NA 0 1
#> 6 0 NA 2 1
#> 7 1 1 1 1
#> 8 1 2 0 3
#> 9 1 2 1 1
#> 10 1 3 0 1
#> 11 1 NA 0 1
#> 12 1 NA 1 1
#> 13 1 NA 3 1
#> 14 2 1 1 1
#> 15 2 1 3 1
#> 16 2 2 1 1
#> 17 2 NA 1 1
#> 18 NA 1 2 1
#> 19 NA 1 3 1
#> 20 NA 2 1 2
#> 21 NA 3 0 1