ComeçarComece de graça

Verificando se os dados vão coincidir

Forçar seus dados para dentro do slot data não funciona porque você perde a correspondência correta entre as linhas e os objetos espaciais. Como adicionar os dados de renda aos dados de polígonos? A função merge() em sp foi feita exatamente para isso.

Você talvez já tenha visto merge() com data frames. sp::merge() tem praticamente a mesma estrutura, mas você passa um objeto Spatial*** e um data frame, e ela retorna um novo objeto Spatial*** em que o slot de dados agora é a junção do slot de dados original com o data frame. Para fazer essa junção, é necessário que tanto o objeto espacial quanto o data frame tenham uma coluna com IDs para fazer a correspondência.

Tanto nyc_tracts quanto nyc_income têm colunas com IDs de setores censitários (tracts), então são ótimos candidatos para mesclar os dois conjuntos de dados. No entanto, sempre vale a pena verificar se os IDs propostos são únicos e se há correspondência para cada linha em ambos os conjuntos de dados.

Vamos verificar isso antes de seguir para o merge.

Este exercício faz parte do curso

Visualizando dados geoespaciais em R

Ver curso

Instruções do exercício

  • Use any() com duplicated() em nyc_income$tract para verificar se cada linha em nyc_income tem um ID de setor único.
  • Use any() com duplicated() em nyc_tracts$TRACTCE para verificar se cada linha em nyc_tracts tem um ID de setor único.
  • Use all() em nyc_tracts$TRACTCE %in% nyc_income$tract para verificar se todos os setores de nyc_tracts estão em nyc_income.
  • Use all() em nyc_income$tract %in% nyc_tracts$TRACTCE para verificar se todos os setores de nyc_income estão em nyc_tracts.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Check for duplicates in nyc_income


# Check for duplicates in nyc_tracts


# Check nyc_tracts in nyc_income


# Check nyc_income in nyc_tracts
Editar e executar o código