TransWikia.com

Test for spatial uniformity of areal variable

Geographic Information Systems Asked by dshkol on September 26, 2021

Suppose we have data for uniform polygons with weight variable n and value variable x representing an average of observations within each polygon that looks like this:

    n        x                       geometry
1  54 1.841997 POLYGON ((103.9307 1.334839...
2  58 2.175889 POLYGON ((103.9417 1.318359...
3  68 2.815498 POLYGON ((103.9307 1.323853...
4  30 2.753143 POLYGON ((103.9307 1.312866...
5  18 1.141663 POLYGON ((103.9087 1.318359...
6  17 1.748730 POLYGON ((103.9197 1.318359...
7  56 1.868321 POLYGON ((103.9307 1.307373...
8  98 2.399952 POLYGON ((103.9307 1.329346...
9  38 1.140369 POLYGON ((103.9087 1.329346...
10 88 3.647507 POLYGON ((103.9197 1.323853...

The distribution of polygons looks something like this:

enter image description here

If the null hypothesis is that the average of observations across each polygon is roughly equal, and H_1 is that x is spatially heterogenous, what is the appropriate statistical test for this that takes into account the spatial element?

Reproducible data and geometry in R if helpful below:

dput(gh_ex)
structure(list(gh = c("w21zt5", "w21zt2", "w21zt1", "w21zmp", 
"w21zs8", "w21zsb", "w21zmn", "w21zt4", "w21zsd", "w21zsc", "w21zsg", 
"w21zs9", "w21zt6", "w21zt3", "w21zse", "w21zsf", "w21zky", "w21zkz", 
"w21ztj", "w21zt0"), n = c(54L, 58L, 68L, 30L, 18L, 17L, 56L, 
98L, 38L, 88L, 58L, 31L, 42L, 98L, 13L, 52L, 42L, 17L, 14L, 65L
), x = c(1.84199706576849, 2.17588935105119, 2.8154984355177, 
2.7531428855611, 1.14166311505687, 1.74873010831313, 1.86832097107948, 
2.39995211456098, 1.14036927483705, 3.64750679704792, 1.95493872571631, 
1.16747947360473, 1.08425400215782, 2.08046777047777, 1.29764038250373, 
1.68701229396748, 1.56925882647206, 3.01289615417116, 0.675278293135436, 
2.78385261904685), geometry = structure(list(structure(list(structure(c(103.9306640625, 
103.9306640625, 103.941650390625, 103.941650390625, 103.9306640625, 
1.3348388671875, 1.34033203125, 1.34033203125, 1.3348388671875, 
1.3348388671875), .Dim = c(5L, 2L))), class = c("XY", "POLYGON", 
"sfg")), structure(list(structure(c(103.941650390625, 103.941650390625, 
103.95263671875, 103.95263671875, 103.941650390625, 1.318359375, 
1.3238525390625, 1.3238525390625, 1.318359375, 1.318359375), .Dim = c(5L, 
2L))), class = c("XY", "POLYGON", "sfg")), structure(list(structure(c(103.9306640625, 
103.9306640625, 103.941650390625, 103.941650390625, 103.9306640625, 
1.3238525390625, 1.329345703125, 1.329345703125, 1.3238525390625, 
1.3238525390625), .Dim = c(5L, 2L))), class = c("XY", "POLYGON", 
"sfg")), structure(list(structure(c(103.9306640625, 103.9306640625, 
103.941650390625, 103.941650390625, 103.9306640625, 1.3128662109375, 
1.318359375, 1.318359375, 1.3128662109375, 1.3128662109375), .Dim = c(5L, 
2L))), class = c("XY", "POLYGON", "sfg")), structure(list(structure(c(103.90869140625, 
103.90869140625, 103.919677734375, 103.919677734375, 103.90869140625, 
1.318359375, 1.3238525390625, 1.3238525390625, 1.318359375, 1.318359375
), .Dim = c(5L, 2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.318359375, 1.3238525390625, 
    1.3238525390625, 1.318359375, 1.318359375), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.9306640625, 103.9306640625, 103.941650390625, 
    103.941650390625, 103.9306640625, 1.307373046875, 1.3128662109375, 
    1.3128662109375, 1.307373046875, 1.307373046875), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.9306640625, 103.9306640625, 103.941650390625, 
    103.941650390625, 103.9306640625, 1.329345703125, 1.3348388671875, 
    1.3348388671875, 1.329345703125, 1.329345703125), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.90869140625, 103.90869140625, 103.919677734375, 
    103.919677734375, 103.90869140625, 1.329345703125, 1.3348388671875, 
    1.3348388671875, 1.329345703125, 1.329345703125), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.3238525390625, 1.329345703125, 
    1.329345703125, 1.3238525390625, 1.3238525390625), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.3348388671875, 1.34033203125, 
    1.34033203125, 1.3348388671875, 1.3348388671875), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.90869140625, 103.90869140625, 103.919677734375, 
    103.919677734375, 103.90869140625, 1.3238525390625, 1.329345703125, 
    1.329345703125, 1.3238525390625, 1.3238525390625), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.941650390625, 103.941650390625, 103.95263671875, 
    103.95263671875, 103.941650390625, 1.329345703125, 1.3348388671875, 
    1.3348388671875, 1.329345703125, 1.329345703125), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.941650390625, 103.941650390625, 103.95263671875, 
    103.95263671875, 103.941650390625, 1.3238525390625, 1.329345703125, 
    1.329345703125, 1.3238525390625, 1.3238525390625), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.90869140625, 103.90869140625, 103.919677734375, 
    103.919677734375, 103.90869140625, 1.3348388671875, 1.34033203125, 
    1.34033203125, 1.3348388671875, 1.3348388671875), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.329345703125, 1.3348388671875, 
    1.3348388671875, 1.329345703125, 1.329345703125), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.307373046875, 1.3128662109375, 
    1.3128662109375, 1.307373046875, 1.307373046875), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.919677734375, 103.919677734375, 103.9306640625, 
    103.9306640625, 103.919677734375, 1.3128662109375, 1.318359375, 
    1.318359375, 1.3128662109375, 1.3128662109375), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.9306640625, 103.9306640625, 103.941650390625, 
    103.941650390625, 103.9306640625, 1.3458251953125, 1.351318359375, 
    1.351318359375, 1.3458251953125, 1.3458251953125), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg")), structure(list(
    structure(c(103.9306640625, 103.9306640625, 103.941650390625, 
    103.941650390625, 103.9306640625, 1.318359375, 1.3238525390625, 
    1.3238525390625, 1.318359375, 1.318359375), .Dim = c(5L, 
    2L))), class = c("XY", "POLYGON", "sfg"))), class = c("sfc_POLYGON", 
"sfc"), precision = 0, bbox = structure(c(xmin = 103.90869140625, 
ymin = 1.307373046875, xmax = 103.95263671875, ymax = 1.351318359375
), class = "bbox"), crs = structure(list(input = "+proj=longlat +datum=WGS84", 
    wkt = "GEOGCRS["unknown",n    DATUM["World Geodetic System 1984",n        ELLIPSOID["WGS 84",6378137,298.257223563,n            LENGTHUNIT["metre",1]],n        ID["EPSG",6326]],n    PRIMEM["Greenwich",0,n        ANGLEUNIT["degree",0.0174532925199433],n        ID["EPSG",8901]],n    CS[ellipsoidal,2],n        AXIS["longitude",east,n            ORDER[1],n            ANGLEUNIT["degree",0.0174532925199433,n                ID["EPSG",9122]]],n        AXIS["latitude",north,n            ORDER[2],n            ANGLEUNIT["degree",0.0174532925199433,n                ID["EPSG",9122]]]]"), class = "crs"), n_empty = 0L)), row.names = c(NA, 
-20L), class = c("sf", "data.table", "data.frame"), sf_column = "geometry", agr = structure(c(gh = NA_integer_, 
n = NA_integer_, x = NA_integer_), class = "factor", .Label = c("constant", 
"aggregate", "identity")))

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP