运行多尺度GWR时出错:gw_weight_vec中的错误:与请求的类型不兼容>:[类型=空;目标=双精度]

voase2hg  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(106)

我尝试使用R中的GWmodel包运行多尺度地理加权回归(* MGWR *)。运行函数gwr.multiscale时显示此错误:
gw_weight_vec(vdist、bw、内核、自适应)中出错:与请求的类型不兼容:[类型=空;目标=双精度]。
举个例子:

library(GWmodel)

data(LondonHP)

dist <- gw.dist(coordinates(londonhp))

ab_gwr <- gwr.multiscale(PURCHASE ~ FLOORSZ + PROF, 
                         data = londonhp, 
                         criterion = "dCVR", 
                         kernel = "gaussian", 
                         adaptive = FALSE,
                         var.dMat.indx = 2,
                         bws0 = c(100, 
                                  100, 
                                  100), 
                         bw.seled = rep(T, 3), 
                         dMats = list(dist, 
                                      dist, 
                                      dist), 
                         parallel.method = "omp", 
                         parallel.arg = "omp")

我也尝试了其他参数,如自适应带宽,以包括更少的协变量,以改变bws0参数等。其他类型的错误发生取决于我所尝试的。
我将使用该包的PDF中的示例。

s8vozzvw

s8vozzvw1#

参数var.dMat.indx是为每个变量的距离矩阵的使用而定义的,在我的代码中使用错误。

library(GWmodel)

data(LondonHP)

dist <- gw.dist(coordinates(londonhp))

ab_gwr <- gwr.multiscale(PURCHASE ~ FLOORSZ + PROF, 
                         data = londonhp, 
                         criterion = "dCVR", 
                         kernel = "gaussian", 
                         adaptive = FALSE,
                         var.dMat.indx = 1:3,
                         bws0 = c(100, 
                                  100, 
                                  100), 
                         bw.seled = rep(TRUE, 3), 
                         dMats = list(dist, 
                                      dist, 
                                      dist), 
                         parallel.method = "omp", 
                         parallel.arg = "omp")

相关问题