Ett exempel på intervallskala
Låt oss återvända till din karta över andelen av befolkningen som är mellan 18 och 24 år:
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = vir) +
tm_legend(position = c("right", "bottom"))
Kartan var problematisk eftersom de flesta andelar hamnade i den lägsta färgnivån, vilket gjorde att det inte syntes mycket detalj. Ett sätt att lösa det här problemet är att dela upp variabelns intervall i mer användbara kategorier i stället för lika långa intervall.
Börja med att replikera tmap:s standardindelning: fem kategorier med "pretty"-brytpunkter. Sedan kan du testa några andra metoder för att dela upp en variabel i intervall. Funktionen classIntervals() ger dig snabb återkoppling om var brytpunkterna hamnar, men det bästa sättet att utvärdera en uppsättning brytpunkter är att rita dem.
(En sidoanteckning: ett annat sätt att lösa den här typen av problem är att leta efter en transformation av variabeln så att lika långa intervall på den transformerade skalan blir mer informativa.)
Den här övningen är en del av kursen
Visualisering av geospatial data i R
Övningsinstruktioner
- Anropa
classIntervals()påvalues(prop_by_age[["age_18_24"]])medn = 5ochstyle = "pretty". Ser du problemet? 130 770 av dina rasterceller hamnar i det första intervallet. - Anropa nu
classIntervals()på samma sätt, men medstyle = "quantile". - Använd jämnstora intervall genom att skicka argumenten
nochstyletill lagrettm_raster()i din karta. - Skapa ett histogram över
values(prop_by_age[["age_18_24"]]). Var skulle du lägga brytpunkterna? - Definiera egna brytpunkter i
tm_raster()genom att angebreaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1). - Spara din slutliga karta som en leaflet-karta med
tmap_save()ochfilename"prop_18-24.html".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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"