在R中,我如何加入和子集SpatialPolygonsDataFrame



我正试图找出如何在r中执行(在GIS中如此容易)操作的方法。

让我们以spdep

中的一些多边形数据集为例
library("spdep")
c <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1])
plot(c)

我已经设法弄清楚,我可以选择多边形与逻辑语句使用subset。例如:

cc & lt; -子集(c, c@data POLYID&lt美元;5)情节(cc)

现在,让我们假设我有另一个数据帧,我想连接到我的空间数据:

POLYID=1:9
TO.LINK =101:109
link.data <- data.frame(POLYID=POLYID, TO.LINK=TO.LINK)

使用这两个数据集,我如何得到两个空间数据帧:

  1. 首先,由多边形组成,其ID在第二个数据帧
  2. 第二,由第二数据帧中不存在的相反多边形组成。

我怎么能走到这一步呢?

这可能会工作。首先,您需要您的相关id。

myIDs <- link.data$POLYID

然后,像你指出的那样使用subset:

subset(c, POLYID %in% myIDs)
subset(c, !(POLYID %in% myIDs))

注意,这假定您的第一个数据框c也有一个名为POLYID的相关列。

相关内容

  • 没有找到相关文章

最新更新