Aan de slagGa gratis aan de slag

Een voorbeeld van een intervalschaal

Laten we teruggaan naar je plot van het aandeel van de bevolking dat tussen 18 en 24 is:

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

Je plot was problematisch omdat de meeste aandelen in het laagste kleurlevel vielen en je daardoor weinig detail zag. Een manier om dit op te lossen is: in plaats van het bereik van je variabele op te delen in bakken van gelijke lengte, kun je het opdelen in nuttigere categorieën.

Laten we beginnen met het repliceren van de standaardbakken van tmap: vijf categorieën, gesneden met "pretty" breaks. Daarna kun je een paar andere methoden proberen om een variabele in intervallen op te delen. Door de functie classIntervals() direct te gebruiken, krijg je snel feedback over wat de breaks zullen zijn, maar de beste manier om een set breaks te proberen is om ze te plotten.

(Terzijde: een andere manier om dit soort probleem op te lossen is te zoeken naar een transformatie van de variabele, zodat bakken van gelijke lengte op de getransformeerde schaal nuttiger zijn.)

Deze oefening maakt deel uit van de cursus

Georuimtelijke data visualiseren in R

Cursus bekijken

Oefeninstructies

  • Roep classIntervals() aan op values(prop_by_age[["age_18_24"]]) met n = 5 en style = "pretty". Zie je het probleem? 130.770 van je gridcellen komen in de eerste bak terecht.
  • Roep nu classIntervals() opnieuw aan zoals hierboven, maar met style = "quantile".
  • Gebruik de gelijke-omvang-bakken door de argumenten n en style door te geven aan de tm_raster()-laag van je plot.
  • Maak een histogram van values(prop_by_age[["age_18_24"]]). Waar zou jij de breaks leggen?
  • Maak je eigen breaks in tm_raster() door breaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1) op te geven.
  • Sla je uiteindelijke plot op als een leaflet-plot met tmap_save() en de filename "prop_18-24.html".

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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"
Code bewerken en uitvoeren