开始使用免费开始使用

筛选街区

纽约里有不少无关的街区,您只需要纽约县的街区。用子集筛选就行,您已经会了!

neighborhoods 是一个 SpatialPolygonsDataFrame。您在第 2 章学过如何基于 data 槽中的列来做子集。关键是先创建一个逻辑向量,然后像操作数据框一样对 SpatialPolygonsDataFrame 做子集。

如何识别正确的街区?请查看:

head(neighborhoods@data)

CountyFIPS 是用于标识县的数字编码。如果您能找出纽约县的编码,就能只保留该值对应的行。

本练习是课程的一部分

在 R 中可视化地理空间数据

查看课程

练习说明

  • nyc_tracts_merge 对象在 COUNTYFP 列中也有县级编码。先用 unique() 查找纽约县对应的编码。
  • 通过添加一个逻辑条件来筛选 neighborhoods,判断 neighborhoods$CountyFIPS 是否等于该编码。
  • 修改绘图,使用 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
    
编辑并运行代码