2017-04-19 37 views
0

我试图在R中绘制我的研究区域。到目前为止,我已经下载了人口普查OA边界数据,并且已经将属性数据合并到了我希望查看的OA中。
因此可以从总共1000个OA中说出。我只想看看这些OA中的500个,为此我有外部数据集。 土地是包含1,000个OA的我的空间多边形数据框。它有一列是OA名称“地理编码”。然而,它有它的坐标,因为你运行:将空间多边形与外部数据合并并选择属性

coordinates(land) 

它产生所有的坐标。

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

代码为远:

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

[email protected] = merge([email protected],houseprice,by.x="geocode", 
by.y="geocode",sort=FALSE) 

View(land) 

这表明我只有500项(这是我想要的)。

plot(land) 

这最终绘制了整个1000个OA而不是我想要的500个。

我必须做什么,只有500个操作数据才能被绘制? 感谢您的帮助

回答

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) 
+0

不幸的是这仍然没有删除空多边形。 plot(land500) #这仍然绘制所有的多边形 任何进一步的帮助? – wilga

+0

如果没有您的数据或一个可重复的例子,当您从示例中创建land2时,我不能再做更多 –

+0

它会创建数据框而不是保留空间多边形数据框。你知道一个解决办法吗? – wilga