使用命令 over() 时收到错误消息

Receiving Error Message when using command over()

我有两个形状文件,shp1shp2。计算完前者的质心后,我想看看后者的质心在哪里。

我的设置是:

shp1@data$centroid <- gCentroid(shp1, byid = TRUE)
foo <- over(shp1$centroid, shp2)

执行第二行时,我收到以下错误消息:

Error in xj[i] : NAs not permitted in row index

知道我应该寻找什么来避免这个错误吗? (注意:grep("NA", row.names(shp1)) returns integer(0),也适用于其他形状文件。)

刚刚弄清楚为什么会出现这个错误:

除了shp1@data$centroid <- gCentroid(shp1, byid = TRUE),我在调用foo <- over(shp1$centroid, shp2)之前还做了shp2@data$centroid <- gCentroid(shp2, byid = TRUE),这显然导致了错误。