Я пытаюсь подогнать пространственную модель панели в R, используя пакет spml.Сначала я определяю весовую матрицу NxN следующим образом:
neib <- dnearneigh(coordinates(coord), 0, 50, longlat = TRUE)
dlist <- nbdists(neib, coordinates(coord))
idlist <- lapply(dlist, function(x) 1/x)
w50 <- nb2listw(neib,zero.policy=TRUE, glist=idlist, style="W")
Таким образом, я определяю два наблюдения, которые должны быть соседями, если они находятся на расстоянии не более 50 км.Веса, прикрепленные к каждой паре соседних наблюдений, соответствуют обратному их расстоянию, так что более близкие соседи получают более высокие веса.Я также использую опцию zero.policy = TRUE, чтобы наблюдения, у которых нет соседей, были связаны с вектором нулевых весов.
После этого я пытаюсь подогнать пространственную модель панели следующим образом
mod <- spml(y ~ x , data = data_p, listw = w50, na.action = na.fail, lag = F, spatial.error = "b", model = "within", effect = "twoways" ,zero.policy=TRUE)
но я получаю следующие сообщения об ошибках и предупреждения
Ошибка в lag.listw (listw, u): переменная содержит неконечные значения. Кроме того: было 50 илибольше предупреждений (используйте warnings (), чтобы увидеть первые 50)
Предупреждающие сообщения: 1: в mean.default (X [[i]], ...): аргумент не числовой или логический: возврат NA
...
50: в mean.default (X [[i]], ...): аргумент не является числовым или логическим: возвращает NA
Я полагаю, что это связано с наблюдениями не соседей.Может кто-нибудь помочь мне с этим?Есть ли способ справиться с наблюдениями, не являющимися соседями, кроме опции zero.policy?
Большое спасибо за помощь.