我正在试图找出如何在R中执行(如此简单的GIS)操作的方法.
让我们从spdep包中获取一些示例多边形数据集
library("spdep")
c <- readShapePoly(system.file("etc/shapes/columbus.shp", package="spdep")[1])
plot(c)
Run Code Online (Sandbox Code Playgroud)
我已经设法弄清楚我可以使用逻辑语句选择多边形subset.例如:
cc < - subset(c,c @ data $ POLYID <5)plot(cc)
现在,让我们假设我有另一个数据框,我想加入我的空间数据:
POLYID=1:9
TO.LINK =101:109
link.data <- data.frame(POLYID=POLYID, TO.LINK=TO.LINK)
Run Code Online (Sandbox Code Playgroud)
使用这两个数据集,我如何获得两个空间数据框:
我怎么能达到这一点?
这可能会奏效.首先,您需要相关的ID.
myIDs <- link.data$POLYID
Run Code Online (Sandbox Code Playgroud)
然后,subset按照您的指示使用:
subset(c, POLYID %in% myIDs)
subset(c, !(POLYID %in% myIDs))
Run Code Online (Sandbox Code Playgroud)
请注意,这假设您的第一个数据帧c也有一个名为的相关列POLYID.
| 归档时间: |
|
| 查看次数: |
2471 次 |
| 最近记录: |