空间相关图

Spatial correlogram

我正在尝试 运行 一个项目的空间自动相关图,该项目关注巴西大西洋森林中的森林砍伐。

但是我很困惑为什么我会遇到这个问题。

问题

当我 运行 代码的初始部分时,我收到

错误

Error: ncol(x) == 2 is not TRUE

我的密码是

r.nb <- dnearneigh(as.matrix(shapeS$POINT_X,shapeS$POINT_Y),
                   d1=200, d2=100000, latlong=FALSE)

然后我希望移动运行这段代码

p.cor <- sp.correlogram(r.nb, deforestation, order=15,
                        method="I", randomisation=FALSE)

r.nb <- dnearneigh(as.matrix(shapeS$POINT_X,shapeS$POINT_Y), 
                   d1=200, d2=100000, latlong=FALSE)

我的数据是

带有标题的矢量数据集

POINTID GRID_CODE POINT_X POINT_Y

您需要使用 cbind,而不是 as.matrix,或者我在下面展示的方法。始终识别您正在使用的 R 包。您声称您的数据集是 'vector data set'。我不信。我假设它是一个矩阵。

如果是矩阵,可以做

m <- shapeS[, c('POINT_X', 'POINT_Y')]
library(spdep)
r.nb <- dnearneigh(m, d1=200, d2=100000, latlong=FALSE)

它是一个data.frame,你可以做到

m <- as.matrix(shapeS[, c('POINT_X', 'POINT_Y')])

m <- cbind(shapeS$POINT_X, shapeS$POINT_Y)