EmpezarEmpieza gratis

Un ejemplo de escala de intervalos

Volvamos a tu gráfico de la proporción de la población que tiene entre 18 y 24 años:

tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = vir) +
  tm_legend(position = c("right", "bottom"))

Tu gráfico tenía un problema: la mayoría de las proporciones caían en el nivel de color más bajo y, en consecuencia, no se veía mucho detalle. Una forma de resolverlo es esta: en lugar de dividir el rango de tu variable en intervalos de igual longitud, puedes dividirlo en categorías más útiles.

Empecemos replicando los intervalos por defecto de tmap: cinco categorías, cortadas usando saltos "pretty". Después, prueba algunos de los otros métodos para dividir una variable en intervalos. Usar directamente la función classIntervals() te da una idea rápida de cuáles serán los cortes, pero la mejor forma de evaluar un conjunto de cortes es representarlos en un gráfico.

(Como nota al margen, otra forma de abordar este tipo de problema es buscar una transformación de la variable para que los intervalos de igual longitud en la escala transformada sean más informativos.)

Este ejercicio forma parte del curso

Visualización de datos geoespaciales en R

Ver curso

Instrucciones del ejercicio

  • Llama a classIntervals() sobre values(prop_by_age[["age_18_24"]]) con n = 5 y style = "pretty". ¿Ves el problema? 130.770 de tus celdas de la cuadrícula acaban en el primer intervalo.
  • Ahora llama a classIntervals() como antes, pero con style = "quantile".
  • Usa los intervalos equiprobables pasando los argumentos n y style a la capa tm_raster() de tu gráfico.
  • Haz un histograma de values(prop_by_age[["age_18_24"]]). ¿Dónde pondrías los cortes?
  • Crea tus propios cortes en tm_raster() especificando breaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1).
  • Guarda tu gráfico final como un mapa leaflet usando tmap_save() y el filename "prop_18-24.html".

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

mag <- viridisLite::magma(7)

library(classInt)

# Create 5 "pretty" breaks with classIntervals()



# Create 5 "quantile" breaks with classIntervals()



# Use 5 "quantile" breaks in tm_raster()
tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = mag) +
  tm_legend(position = c("right", "bottom"))

# Create histogram of proportions


# Use fixed breaks in tm_raster()
tm_shape(prop_by_age) +
  tm_raster("age_18_24", palette = mag,
    style = "fixed")

# Save your plot to "prop_18-24.html"
Editar y ejecutar código