我正试图弄清楚如何在R中执行(在GIS中如此简单)操作。
让我们从spdep
包
library("spdep")
c <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1])
plot(c)
我已经设法弄清楚我可以使用subset
选择带有逻辑语句的多边形。例如:
cc&lt; - subset(c,c @ data $ POLYID&lt; 5)plot(cc)
现在,假设我有另一个数据框,我想加入我的空间数据:
POLYID=1:9
TO.LINK =101:109
link.data <- data.frame(POLYID=POLYID, TO.LINK=TO.LINK)
使用这两个数据集,我如何获得两个空间数据框:
我怎么能达到这一点?
答案 0 :(得分:5)
这可能会奏效。首先,您需要相关的ID。
myIDs <- link.data$POLYID
然后,正如您所指出的那样使用subset
:
subset(c, POLYID %in% myIDs)
subset(c, !(POLYID %in% myIDs))
请注意,这假设您的第一个数据框c
也有一个名为POLYID
的相关列。