R 光栅化Spdep';s localG输出

R 光栅化Spdep';s localG输出,r,geospatial,spdep,R,Geospatial,Spdep,我对R相当陌生,我正在尝试光栅化spdep的localG函数的输出。 此代码: neigh2<-dnearneigh(profcurvPts, 0, 2) list<-nb2listw(neigh2) gistar<-localG(profcurvPts$layer, list) girast<-rasterize(gistar, profcurv) neigh2您正在尝试调用类localG的对象,该对象没有sp或光栅类的关联方法。以下是用于栅格化本地G结果的工作流 首

我对R相当陌生,我正在尝试光栅化spdep的localG函数的输出。 此代码:

neigh2<-dnearneigh(profcurvPts, 0, 2)
list<-nb2listw(neigh2)
gistar<-localG(profcurvPts$layer, list)
girast<-rasterize(gistar, profcurv)

neigh2您正在尝试调用类
localG
的对象,该对象没有sp或光栅类的关联方法。以下是用于栅格化本地G结果的工作流

首先,添加包和数据。meuse对象是SpatialPointsDataFrame,meuse.grid以SpatialGridDataFrame开始,但被强制为用于栅格化点数据的rasterLayer对象

library(spdep)
library(raster)

data(meuse)
  coordinates(meuse) <- ~x+y
  proj4string(meuse) <- CRS("+init=epsg:28992")  

data(meuse.grid)
  coordinates(meuse.grid) = ~x+y
  proj4string(meuse.grid) <- CRS("+init=epsg:28992")
  gridded(meuse.grid) = TRUE
  meuse.grid <- raster(meuse.grid)

这类问题更适合于GIS StackExchange
nb <- dnearneigh(coordinates(meuse), 0, 500)
G <- localG(meuse$cadmium, nb2listw(nb, style="B"))
meuse$G <- as.numeric(G)
spplot(meuse, "G")

Gr <- rasterize(coordinates(meuse), meuse.grid, field = meuse$G, background = NA)