Географически взвешенная логистическая регрессия различных измерений

Я пытаюсь провести географически взвешенную логистическую регрессию, чтобы количественно оценить пространственные вариации в моем наборе данных. Однако при запуске модели gwr я получаю сообщение об ошибке, что мои входные данные и координаты имеют разные размеры.

Это код, который я использовал для границы с Нидерландами:

unzip("ne_10m_admin_1_states_provinces.zip",exdir="NaturalEarth")
border <- shapefile("NaturalEarth/ne_10m_admin_1_states_provinces.shp")

#extract border netherlands
Netherlands1 <- border[paste(border$iso_a2)=="NL",]

Мои данные имеют двоичный результат (0/1) относительно распространенности патогена.

Data_coord <- data[,c(1:2)] #extract coordinates 


sp.data <- SpatialPointsDataFrame(coords = data_coord, data = data_full3.p, 
                                        proj4string = CRS("+proj=longlat +datum=WGS84 +no_defs")) #convert to spatialpoint dataframe

Затем я провел логистическую регрессию. Здесь проблем не было.

m <- glm(glm(pathogen ~ Age_category,
             family=binomial(link='logit'),data=sp.data))
summary(m)

Я преобразовал данные в пространственный * объект с помощью плоского CRS

alb <- CRS("+proj=utm +zone=31N +datum=WGS84")
sp <- sp.data

spt <- spTransform(sp, alb)
ctst <- spTransform(Netherlands1, alb)

#get optimal bandwidth 
bw <- gwr.sel(A._phagocytophilum_qPCR1 ~ Age_Category, data=spt)
bw

Но как только я запускаю эту строку, я получаю ошибку

#run gwr function 
g <- gwr(pathogen ~ Age_Category, data=spt, bandwidth=bw, fit.points=newpts[, 1:2])

Ошибка в gwr(pathogen ~ Age_Category, data = spt, bandwidth = bw,: входные данные и координаты имеют разные размеры

Кто-нибудь знает, как это решить? Заранее спасибо!

0 ответов

Глядя на код функции, похоже, что проблема здесь:

if (NROW(x) != NROW(coords)) 
stop("Input data and coordinates have different dimensions") 

x здесь берется из объекта model.frame, созданного ранее в коде, который автоматически исключает любые строки, которые имеют значения NA или NaN, таким образом потенциально обеспечивая другое количество строк, чем набор данных.

Мне не удалось распаковать ваш файл, но я хотел бы проверить, есть ли отсутствующие значения. У меня была такая же проблема с ggwr, и удаление этих значений решило проблему.

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