4

我试图弄清楚如何在 R 中执行(在 GIS 中如此简单)操作。

spdep让我们以包中的一些示例多边形数据集为例

library("spdep")
c <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1])
plot(c)

我设法弄清楚我可以使用subset. 例如:

cc <- 子集(c,c@data$POLYID<5) 图(cc)

现在,假设我有另一个数据框要加入我的空间数据:

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

使用这两个数据集,我怎样才能得到两个空间数据框:

  1. 首先,由在第二个数据框中具有其 ID 的多边形组成
  2. 其次,由相反的集合组成——第二个数据框中不存在的多边形。

我怎么会走到这一步?

4

1 回答 1

5

这可能会奏效。首先,您需要相关的 ID。

myIDs <- link.data$POLYID

然后,subset按照您指出的那样使用:

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

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

于 2013-04-15T15:44:18.950 回答