Aan de slagGa gratis aan de slag

Laat het regenen (datapunten)

De toegenomen bimodaliteit die we vroeg in de week zien, kan overtuigend zijn, maar we zouden individuele punten onder de dichtheden moeten tekenen om een idee te krijgen van wat de KDE doet qua interpolatie voordat we stoppen.

Aan de code uit de vorige oefeningen is een point-geometrie toegevoegd om precies dit te doen. Je zult merken dat het er niet erg goed uitziet. Om dit te verbeteren doen we een paar dingen…

Verlaag eerst de alpha van de punten iets om overlap zichtbaar te maken. Zet vervolgens de puntvorm om naar verticale lijntjes in de stijl van geom_rug() ('|').

Op dit punt, als je de code uitvoert, zie je dat de punten onhandig over de dichtheidsvormen heen vallen. We moeten de streepjes een klein beetje omlaag ‘duwen’ op de y-as. Dat kan met het position-argument en de helperfunctie position_nudge().

Deze oefening maakt deel uit van de cursus

Best practices voor visualisaties in R

Cursus bekijken

Oefeninstructies

  • Verlaag de alpha van de punten naar 0.2 om overlap te tonen.
  • Verander de lijn-shape naar '|' voor efficiënter ruimtegebruik.
  • Duw de punten omlaag zodat ze niet overlappen met de dichtheidsvorm met position = position_nudge(y = -0.05).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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() )
Code bewerken en uitvoeren