Как устранить ошибку длины соседей "ействия () "после запуска spdep :: lagsarlm (модель пространственной авторегрессионной регрессии)? - PullRequest
0 голосов
/ 30 июня 2019

У меня есть 9 150 полигонов в моем наборе данных. Я пытался запустить пространственную модель авторегрессии (SAR) в spdep, чтобы проверить пространственную зависимость моей исходной переменной. После запуска модели я хотел изучить прямые / косвенные воздействия, но столкнулся с ошибкой, которая, по-видимому, связана с длиной соседей в матрице весов, не равной n.

Я попытался выполнить то же уравнение, что и модель SLX (Spatial Lag X), и impacts() работал нормально, хотя в моем наборе было несколько полигонов, у которых не было соседей. Я погуглил и посмотрел spdep документацию, но не смог найти подсказку, как решить эту ошибку.

# Defining queen contiguity neighbors for polyset and storing the matrix as list
q.nbrs <- poly2nb(polyset) 
listweights <- nb2listw(q.nbrs, zero.policy = TRUE)

# Defining the model
model.equation <- TIME ~ A + B + C

# Run SAR model
reg <- lagsarlm(model.equation, data = polyset, listw = listweights, zero.policy = TRUE)

# Run impacts() to show direct/indirect impacts
impacts(reg, listw = listweights, zero.policy = TRUE)

Error in intImpacts(rho = rho, beta = beta, P = P, n = n, mu = mu, Sigma = Sigma,  : 
  length(listweights$neighbours) == n is not TRUE
...