Příklad intervalové škály
Vrátíme se k tvému grafu podílu obyvatelstva ve věku 18 až 24 let:
tm_shape(prop_by_age) +
tm_raster("age_18_24", palette = vir) +
tm_legend(position = c("right", "bottom"))
Graf byl problematický, protože většina podílů spadala do nejnižší barevné úrovně, a v důsledku toho nebylo v grafu příliš vidět. Jedním ze způsobů, jak tento problém vyřešit, je rozdělit rozsah proměnné nikoli do intervalů stejné délky, ale do smysluplnějších kategorií.
Začneme replikací výchozích přihrádek tmap: pět kategorií rozdělených pomocí "pretty" breaks. Pak můžeš vyzkoušet několik dalších metod dělení proměnné do intervalů. Přímé použití funkce classIntervals() ti rychle ukáže, kde budou hranice, ale nejlepší způsob, jak sadu hranic otestovat, je vytvořit graf.
(Mimochodem, dalším způsobem, jak takový problém řešit, je najít transformaci proměnné tak, aby byly intervaly stejné délky na transformované škále užitečnější.)
Toto cvičení je součástí kurzu
Vizualizace geoprostorových dat v R
Pokyny k cvičení
- Zavolej
classIntervals()navalues(prop_by_age[["age_18_24"]])s argumentyn = 5astyle = "pretty". Vidíš problém? 130 770 buněk mřížky skončí v první přihrádce. - Teď zavolej
classIntervals()stejně jako výše, ale sstyle = "quantile". - Použij stejně velké přihrádky tak, že předáš argumenty
nastyledo vrstvytm_raster()ve svém grafu. - Vytvoř histogram z
values(prop_by_age[["age_18_24"]]). Kde bys hranice umístil/a? - Definuj vlastní hranice v
tm_raster()zadánímbreaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1). - Ulož finální graf jako leaflet pomocí
tmap_save()sfilename"prop_18-24.html".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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"