在R中,如何连接和子集SpatialPolygonsDataFrame? [英] In R, how do I join and subset SpatialPolygonsDataFrame?

查看:7
本文介绍了在R中,如何连接和子集SpatialPolygonsDataFrame?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在努力想办法在R中执行(在GIS中很容易)操作。

让我们以spdep包中的一些示例面数据集

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

我已经设法知道可以使用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)

使用这两个数据集,如何获得两个空间数据框:

  1. 第一个,由ID位于第二个数据框中的面组成
  2. 第二个,由相反的集合组成--第二个数据框中不存在的多边形。

我如何才能做到这一点?

推荐答案

这可能会起作用。首先,您需要您的相关ID。

myIDs <- link.data$POLYID

然后,使用您已经指出的subset

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

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

这篇关于在R中,如何连接和子集SpatialPolygonsDataFrame?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆