Do jeito errado
Quando um objeto Spatial***DataFrame é criado, existem duas formas de casar os objetos espaciais (por exemplo, Polygons) com as linhas dos dados. A mais robusta é usar IDs nos objetos espaciais que correspondam aos nomes das linhas nos dados. Isso garante que, se algo não bater, você será avisado rapidamente. A outra forma é simplesmente pela ordem — assume-se que o primeiro objeto espacial corresponde à primeira linha dos dados.
Depois de criado, o vínculo passa a ser puramente pela ordem. Se você manipular o slot data, não há verificação se os objetos espaciais ainda correspondem às linhas certas. O que isso significa na prática? É muito perigoso manipular o slot data diretamente!
Para criar seu gráfico de renda, você precisa combinar o data frame de renda com o SpatialPolygonsDataFrame dos tratos. Para ilustrar o perigo de manipular @data diretamente, vamos ver o que acontece se você tentar forçar nyc_income dentro de nyc_tracts.
Este exercício faz parte do curso
Visualizando dados geoespaciais em R
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
library(sp)
# Use str() on nyc_income
# ...and on nyc_tracts@data