Как рассчитать локальную автокорреляцию с помощью Geary's C в R?

Вычислить локальную автокорреляцию с помощью Морана I легко с помощью функции localmoran() из пакета spdep. Но можно ли рассчитать коэффициент Гири для локальной автокорреляции в R? Я знаю, что это возможно в GeoDa, но я не знаю, как это сделать в R.

1 ответ

Для вычисления локального C Гири пока нет ни одной функции или пакета в R, который делает это (на самом деле есть функция usdm::lisa(), но она вычисляет ее для растровых данных). Я создал для этого простой скрипт и сравнил его с GeoDa, и значения аналогичны. Вот это:

      Map < rgdal::readOGR("./Map.shp")
neighbours <- spdep::poly2nb(Map)
wq <- spdep::nb2listw(neighbours,style = "W")
W.matrix <- as(wq, "CsparseMatrix") # Matrix of space weights - queen
var <- scale(Map$var)[,1]
n <- length(Map) # number of neighbourhoods or polygons

CG <- numeric(n) 
for (i in c(1:n)) {
  CG[i] <- sum(W.matrix[i,] * (var [i] - var)^2)
}

Это дает нам локальную C Гири, но чтобы узнать, значима она или нет, необходимо выполнить тест перестановки. Я рекомендую прочитать статью «Локальный индикатор многомерной пространственной ассоциации: расширение с Гири» Люка Анселина (2018).

Другие вопросы по тегам