合并数据属性
merge() 默认会基于两个数据集中同名的列进行合并。当前情形不适用,因为两个数据集中的 ID 列名称不同:一个是 tract,另一个是 TRACTCE。为了解决这个问题,merge() 提供了可选参数 by.x 和 by.y,分别用于指定两个数据集中用于合并的列名。
merge() 会返回一个新的 Spatial___DataFrame 对象,因此您可以用 tmap 绘图来查看结果。
现在就来进行合并吧。
本练习是课程的一部分
在 R 中可视化地理空间数据
练习说明
- 使用
merge(),先传入空间对象nyc_tracts,再传入数据框nyc_income。指定by.x = "TRACTCE"和by.y = "tract"。将结果保存为nyc_tracts_merge。 - 对
nyc_tracts_merge使用summary(),确认该对象为SpatialPolygonsDataFrame,且数据中包含来自nyc_income的所需estimate列。 - 使用
tm_shape()并添加一个tm_fill()图层,为nyc_tracts_merge创建分级着色地图,将颜色映射到estimate。
交互式实操练习
通过完成这段示例代码来试试这个练习。
library(sp)
library(tmap)
# Merge nyc_tracts and nyc_income: nyc_tracts_merge
# Call summary() on nyc_tracts_merge
# Choropleth with col mapped to estimate