2017-04-19 62 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