cross.tab: Class comparison between two nominal rasters

View source: R/cross.tab.R

cross.tabR Documentation

Class comparison between two nominal rasters

Description

Creates a labeled cross tabulation between two nominal rasters

Usage

cross.tab(x, y, values = NULL, labs = NULL, pct = FALSE, ...)

Arguments

x

A terra SpatRaster class object

y

A terra SpatRaster class object to compare to x

values

Expected values in both rasters

labs

Labels associated with values argument

pct

(TRUE/FALSE) return proportions rather than counts

...

Additional arguments

Details

This function returns a cross tabulation between two nominal rasters. Arguments allow for labeling the results and returning proportions rather than counts. It also accounts for asymmetrical classes between the two rasters

Value

a table with the cross tabulated counts

Author(s)

Jeffrey S. Evans <jeffrey_evans@tnc.org>

References

Pontius Jr, R.G., Shusas, E., McEachern, M. (2004). Detecting important categorical land changes

Examples

library(terra)
 
e <- ext(179407.8, 181087.9, 331134.4, 332332.1)
lulc2010 <- rast(e, resolution=20)
  lulc2010[] <- sample(1:5, ncell(lulc2010), replace=TRUE)
lulc2020 <- rast(e, resolution=20)
  lulc2020[] <- sample(1:5, ncell(lulc2020), replace=TRUE)
 
 ( v = sort(unique(c(lulc2010[], lulc2020[]))) )
 l = c("water","urban","forest",
       "ag","barren")

cross.tab(lulc2010, lulc2020) 
cross.tab(lulc2010, lulc2020, values = v, labs = l)
cross.tab(lulc2010, lulc2020, values = v, labs = l, pct=TRUE)

# Create asymmetrical classes 
na.idx <- which(!is.na(lulc2010[]))
lulc2020[na.idx] <- sample(c(1,2,4,5), length(na.idx), replace=TRUE)
cross.tab(lulc2010, lulc2020, values = v, labs = l, pct=TRUE)



spatialEco documentation built on Nov. 18, 2023, 1:13 a.m.