我有一个很大的栅格数据集,我已经将其转换为SpatialPointsDataFrame,然后从那里转换为常规数据帧。我需要使用spgwr包运行地理加权回归(GWR)。我已经使用gwr.sel()函数成功计算了GWR带宽,但是当我尝试使用gwr()运行GWR时,出现一个错误,提示R无法分配大小为25 Gb的向量。我认为可能只对整个数据框的一个随机子样本运行本地GWR回归,而将所有其他点都作为回归的邻域值。
这是我到目前为止的内容,但是我不确定如何在子样本上运行GWR而不遗漏其他所有点。
##Calculate kernel bandwidth
gwr.bw <- gwr.sel(merge.df$nsEVI_YAproj ~ merge.df$aDEM_YAproj, data = merge.df, coords = cbind(merge.df$x, merge.df$y), adapt = TRUE)
##Run GWR model
gwr <- gwr(merge$nsEVI_YAproj ~ merge$aDEM_YAproj, data = merge.df, coords = cbind(merge.df$x, merge.df$y), adapt = gwr.bw, hatmatrix = TRUE, se.fit = TRUE)