Compute the Global Bivariate Moran's I
Given two continuous numeric variables, calculate the bivariate Moran's I. See details for more.
moran_bv(x, y, listw, nsim = 499, scale = TRUE)
x
: a numeric vector of same length as y
.y
: a numeric vector of same length as x
.listw
: a listw object for example as created by nb2listw()
.nsim
: the number of simulations to run.scale
: default TRUE
.An object of class "boot"
, with the observed statistic in component t0
.
The Global Bivariate Moran is defined as
c("", "")
It is important to note that this is a measure of autocorrelation of X with the spatial lag of Y. As such, the resultant measure may overestimate the amount of spatial autocorrelation which may be a product of the inherent correlation of X and Y. The output object is of class "boot"
, so that plots and confidence intervals are available using appropriate methods.
data(boston, package = "spData") x <- boston.c$CRIM y <- boston.c$NOX listw <- nb2listw(boston.soi) set.seed(1) res_xy <- moran_bv(x, y, listw, nsim=499) res_xy$t0 boot::boot.ci(res_xy, conf=c(0.99, 0.95, 0.9), type="basic") plot(res_xy) set.seed(1) lee_xy <- lee.mc(x, y, listw, nsim=499, return_boot=TRUE) lee_xy$t0 boot::boot.ci(lee_xy, conf=c(0.99, 0.95, 0.9), type="basic") plot(lee_xy) set.seed(1) res_yx <- moran_bv(y, x, listw, nsim=499) res_yx$t0 boot::boot.ci(res_yx, conf=c(0.99, 0.95, 0.9), type="basic") plot(res_yx) set.seed(1) lee_yx <- lee.mc(y, x, listw, nsim=499, return_boot=TRUE) lee_yx$t0 boot::boot.ci(lee_yx, conf=c(0.99, 0.95, 0.9), type="basic") plot(lee_yx)
Wartenberg, D. (1985), Multivariate Spatial Correlation: A Method for Exploratory Geographical Analysis. Geographical Analysis, 17: 263-283. tools:::Rd_expr_doi("10.1111/j.1538-4632.1985.tb00849.x")
Josiah Parry josiah.parry@gmail.com
Useful links