La forma incorrecta
Cuando se crea un objeto Spatial***DataFrame, hay dos maneras de emparejar los objetos espaciales (p. ej., Polygons) con las filas de los datos. La más sólida es usar identificadores (IDs) en los objetos espaciales que se correspondan con los nombres de fila en los datos. Esto garantiza que, si hay algo que no coincide, te enteres enseguida. La otra forma es simplemente por orden: se asume que el primer objeto espacial corresponde a la primera fila de datos.
Una vez creado, la correspondencia se basa únicamente en el orden. Si manipulas el slot data, no hay ninguna comprobación de que los objetos espaciales sigan correspondiendo a las filas correctas. ¿Qué significa esto en la práctica? ¡Que es muy peligroso manipular directamente el slot data!
Para crear tu gráfico de ingresos, necesitas emparejar el data frame de ingresos con el SpatialPolygonsDataFrame de los tracts. Para ilustrar el peligro de manipular @data directamente, veamos qué pasa si intentas forzar nyc_income dentro de nyc_tracts.
Este ejercicio forma parte del curso
Visualización de datos geoespaciales en R
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
library(sp)
# Use str() on nyc_income
# ...and on nyc_tracts@data