Zmiana osi Y na gęstość
Domyślnie oś Y przedstawia liczbę obserwacji, które znalazły się w danym przedziale (ang. bin). To wygodne i czytelne rozwiązanie – ale co, jeśli chcesz interpretować wykres jako prawdziwą krzywą gęstości, którą próbuje estymować? Tzn. tak, żeby suma (szerokości słupków) × (wysokości słupków) wynosiła 1?
Aby to osiągnąć, wystarczy dodać y = stat(density) do mapowań estetycznych. W ten sposób oś Y zostanie przeskalowana z liczebności na empiryczne oszacowanie prawdopodobieństwa. Kształt wykresu nie zmieni się wcale – zmieni się jedynie interpretacja osi Y.
Wypróbujmy to na przykładzie godziny, o której kierowca przekraczający prędkość został zatrzymany (hour_of_day). Zmniejsz też nieco przezroczystość słupków, żeby linie siatki były widoczne – ułatwi to porównywanie wartości.
To ćwiczenie jest częścią kursu
Najlepsze praktyki wizualizacji danych w R
Instrukcje do ćwiczenia
- Ustaw estetykę x na
hour_of_day. - Ustaw estetykę y na
stat(density). - Zmień wartość
alphawgeom_histogram()na 0.8.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
ggplot(md_speeding) +
geom_histogram(
# set x and y aesthetics to hour_of_day and stat(density) respectively.
___
# make points see-through by setting alpha to 0.8
___
)