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
Instrucciones del ejercicio
- Llama a
classIntervals()sobrevalues(prop_by_age[["age_18_24"]])conn = 5ystyle = "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 constyle = "quantile". - Usa los intervalos equiprobables pasando los argumentos
nystylea la capatm_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()especificandobreaks = 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 elfilename"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"