1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wizualizacja danych geoprzestrzennych w R

Connected

ćwiczenie

Przykład skali interwałowej

Wróćmy do wykresu przedstawiającego udział populacji w wieku od 18 do 24 lat:

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

Wykres był problematyczny, bo większość proporcji trafiała do najniższego przedziału kolorystycznego – w efekcie na mapie nie było widać zbyt wielu szczegółów. Jednym ze sposobów rozwiązania tego problemu jest rezygnacja z podziału zakresu zmiennej na przedziały równej długości na rzecz bardziej użytecznych kategorii.

Zacznijmy od odtworzenia domyślnych przedziałów pakietu tmap: pięć kategorii wyznaczonych metodą "pretty". Następnie wypróbujesz kilka innych metod podziału zmiennej na przedziały. Wywołanie funkcji classIntervals() bezpośrednio daje szybką informację zwrotną o tym, gdzie wypadną podziały – jednak najlepszym sposobem przetestowania zestawu przedziałów jest ich wizualizacja.

(Na marginesie: innym podejściem do tego rodzaju problemu jest znalezienie odpowiedniej transformacji zmiennej, tak aby przedziały równej długości na przekształconej skali były bardziej użyteczne.)

Instrukcje

100 XP
  • Wywołaj classIntervals() na values(prop_by_age[["age_18_24"]]) z argumentami n = 5 i style = "pretty". Widzisz problem? Aż 130 770 komórek siatki trafia do pierwszego przedziału.
  • Wywołaj classIntervals() jak powyżej, ale z argumentem style = "quantile".
  • Zastosuj przedziały o równej liczebności, przekazując argumenty n i style do warstwy tm_raster() na wykresie.
  • Utwórz histogram dla values(prop_by_age[["age_18_24"]]). Gdzie chciałbyś wyznaczyć podziały?
  • Zdefiniuj własne podziały w tm_raster(), podając breaks = c(0.025, 0.05, 0.1, 0.2, 0.25, 0.3, 1).
  • Zapisz ostateczny wykres jako wykres leaflet, używając tmap_save() z argumentem filename o wartości "prop_18-24.html".