Deszcz punktów danych
Zwiększona bimodalność widoczna na początku tygodnia może być interesująca, ale zanim wyciągniemy wnioski, warto narysować pojedyncze punkty poniżej krzywych gęstości – żeby zobaczyć, jak KDE interpoluje dane.
Do kodu z poprzednich ćwiczeń dodano geometrię punktową właśnie w tym celu. Jak zauważysz, efekt nie wygląda najlepiej. Poprawimy to w kilku krokach…
Po pierwsze, nieznacznie zmniejszymy alpha punktów, aby uwidocznić nakładanie się obserwacji. Po drugie, zmienimy kształt punktów na pionowe kreski w stylu geom_rug() ('|').
Jeśli teraz uruchomisz kod, zobaczysz, że punkty nieestetycznie nachodzą na kształty gęstości. Trzeba je trochę przesunąć w dół wzdłuż osi y. Można to zrobić za pomocą argumentu position i funkcji pomocniczej position_nudge().
To ćwiczenie jest częścią kursu
Najlepsze praktyki wizualizacji danych w R
Instrukcje do ćwiczenia
- Zmniejsz
alphapunktów do0.2, aby pokazać ich nakładanie się. - Zmień kształt (
shape) na'|', żeby lepiej wykorzystać przestrzeń. - Przesuń punkty w dół, by nie nachodziły na kształt gęstości:
position = position_nudge(y = -0.05).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
md_speeding %>%
mutate(day_of_week = factor(day_of_week, levels = c("Mon","Tues","Wed","Thu","Fri","Sat","Sun") )) %>%
ggplot(aes( x = percentage_over_limit, y = day_of_week)) +
geom_point(
# make semi-transparent with alpha = 0.2
# turn points to vertical lines with shape = '|'
# nudge the points downward by 0.05
) +
geom_density_ridges(bandwidth = 3.5, alpha = 0.7) +
scale_x_continuous(limits = c(0,150), expand = c(0,0)) +
labs(subtitle = 'Guassian kernel SD = 3.5') +
theme( axis.ticks.y = element_blank() )