将空间多边形与外部数据合并,并在属性上选择多边形

时间:2017-04-19 10:53:34

标签: r mapping sp rgdal maptools

我正在尝试在R中绘制我的学习区域。到目前为止,我已经下载了人口普查OA边界数据,并且已将属性数据合并到我希望查看的OA中。
总而言之,总共有1,000个OA。我想看看这些OA中只有500个,我有外部数据集。 Land是我的空间多边形数据框,包含1,000s OA。它有一列是OA名称“geocode”。但是,它有它的坐标,因为你运行:

coordinates(land)

它产生所有坐标。

Houseprice是一个包含房价和包含地理编码的列的数据框。

远程代码:

library("sp")
library("GISTools")
library("maptools")
library("spatial")
library("ggplot2")
library("rgdal")

land@data = merge(land@data,houseprice,by.x="geocode", 
by.y="geocode",sort=FALSE)

View(land)

这表明我只有500个条目(这就是我想要的)。

plot(land)

这最终将绘制整个1,000个OA,而不仅仅是我想要的500个。

我只需要为仅有500个数据绘制的500个OA做什么? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

您可以直接在空间数据上使用merge,因为有一种方法。然后,您只选择添加的列中没有NA的行(在下面的示例中称为my_col在这里,您只修改了属性表,但没有修改几何

# Merge with external dataset
land2 <- merge(land, houseprice,by.x="geocode", by.y="geocode",sort=FALSE, all.x = TRUE)
# Select only rows of interest
land500 <- land2[which(!is.na(land2$my_col)),]
plot(land500)