篩選 neighborhoods
你不需要紐約所有多餘的行政社區,所以只要篩出「New York County」內的社區就好。你已經學過怎麼做了!
neighborhoods 是一個 SpatialPolygonsDataFrame,而你在第 2 章已經學會如何根據 data 插槽中的欄位來篩選。關鍵是先建立一個布林向量,然後像處理資料框一樣來篩選 SpatialPolygonsDataFrame。
要如何辨識正確的社區呢?請先查看:
head(neighborhoods@data)
CountyFIPS 是用來標識郡(county)的數值代碼。只要找出 New York County 的代碼,你就能只保留該數值的列。
本練習屬於課程
在 R 視覺化地理空間資料
練習說明
nyc_tracts_merge物件也在COUNTYFP欄位裡有郡的代碼。先用unique()看看有哪些值,找出 New York County 的代碼。- 透過加入一個邏輯判斷,測試
neighborhoods$CountyFIPS是否為正確值,來篩選neighborhoods。 - 修改你的圖,將資料改用
manhat_hoods,不要再用 neighborhoods。 - 新增一層
tm_text(),把text映射到"NTAName"。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
library(tmap)
# Find unique() nyc_tracts_merge$COUNTYFP
# Add logical expression to pull out New York County
manhat_hoods <- neighborhoods[___, ]
tm_shape(nyc_tracts_merge) +
tm_fill(col = "estimate") +
tm_shape(water) +
tm_fill(col = "grey90") +
# Edit to use manhat_hoods instead
tm_shape(neighborhoods) +
tm_borders() +
# Add a tm_text() layer