首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同维度的地理加权logistic回归

不同维度的地理加权logistic回归
EN

Stack Overflow用户
提问于 2020-07-15 20:58:59
回答 1查看 126关注 0票数 0

我正在尝试进行地理加权logistic回归,以量化我数据集中的空间差异。但是,在运行gwr模型时,我得到了输入数据和坐标具有不同维度的错误。

这是我在荷兰边界使用的代码:

代码语言:javascript
复制
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)。

代码语言:javascript
复制
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

接下来,我运行逻辑回归。这里没有问题。

代码语言:javascript
复制
m <- glm(glm(pathogen ~ Age_category,
             family=binomial(link='logit'),data=sp.data))
summary(m)

我用平面CRS转换了一个空间*对象中的数据

代码语言:javascript
复制
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

但是一旦我运行这行代码,我就会得到一个错误

代码语言:javascript
复制
#run gwr function 
g <- gwr(pathogen ~ Age_Category, data=spt, bandwidth=bw, fit.points=newpts[, 1:2])

gwr中出错(病原体~ Age_Category,数据= spt,带宽= bw,:输入数据和坐标的维度不同

有人知道如何解决这个问题吗?提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2020-09-12 06:20:58

查看function code,似乎问题出在这里:

代码语言:javascript
复制
if (NROW(x) != NROW(coords)) 
stop("Input data and coordinates have different dimensions") 

这里的x取自前面在代码中创建的model.frame对象,该对象将自动排除任何具有NA或NaN值的行,从而可能提供与dataset不同的行数。

我无法解压缩您的文件,但我会检查是否有任何缺失值。我在使用ggwr时也遇到了同样的问题,删除这些值解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62915457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档