Un exemplu de scală pe intervale
Să revenim la graficul tău cu proporția populației cu vârsta cuprinsă între 18 și 24 de ani:
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = vir) +
tm_legend(position = c("right", "bottom"))
Graficul tău era problematic deoarece majoritatea proporțiilor se încadrau în primul nivel de culoare, ceea ce înseamnă că nu ai putut vedea prea multe detalii. O modalitate de a rezolva această problemă este să nu împarți intervalul variabilei în categorii de lungime egală, ci în categorii mai utile.
Să începem prin a replica categoriile implicite din tmap: cinci categorii, împărțite cu ajutorul metodei "pretty". Apoi poți testa câteva dintre celelalte metode de împărțire a unei variabile în intervale. Folosirea funcției classIntervals() direct îți oferă un feedback rapid despre cum vor arăta intervalele, însă cel mai bun mod de a testa un set de intervale este să le vizualizezi.
(Ca notă suplimentară, o altă modalitate de a rezolva acest tip de problemă este să cauți o transformare a variabilei, astfel încât categoriile de lungime egală pe scala transformată să fie mai utile.)
Acest exercițiu face parte din cursul
Vizualizarea datelor geospațiale în R
Instrucțiuni pentru exercițiu
- Apelează
classIntervals()pevalues(prop_by_age[["age_18_24"]])cun = 5șistyle = "pretty". Observi problema? 130.770 de celule ale grilei ajung în prima categorie. - Acum apelează
classIntervals()ca mai sus, dar custyle = "quantile". - Folosește categoriile de dimensiuni egale transmițând argumentele
nșistyleîn stratultm_raster()al graficului tău. - Creează o histogramă a valorilor din
values(prop_by_age[["age_18_24"]]). Unde ai plasa intervalele? - Definește propriile intervale în
tm_raster()specificândbreaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1). - Salvează graficul final ca grafic leaflet folosind
tmap_save()șifilename"prop_18-24.html".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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"