Kom igångKom igång gratis

Låt datapunkterna regna

Den ökade bimodalitet vi ser tidigt i veckan kan vara intressant, men vi bör rita ut enskilda punkter under densitetskurvorna för att få en känsla för vad KDE gör i termer av interpolation innan vi drar några slutsatser.

Till koden från tidigare övningar har en punktgeometri lagts till för just detta ändamål. Du kommer att märka att det inte ser särskilt bra ut. För att förbättra det gör vi några justeringar…

Först sänker vi punkternas alpha-värde något för att synliggöra överlapp. Sedan byter vi punktform till vertikala streck i geom_rug()-stil ('|').

Om du kör koden nu ser du att punkterna klumpigt skär in i densitetsformerna. Vi behöver förflytta bockmarkeringarna lite nedåt längs y-axeln. Det gör vi med argumentet position och hjälpfunktionen position_nudge().

Den här övningen är en del av kursen

Visualiseringsmetoder i R

Visa kurs

Övningsinstruktioner

  • Sänk alpha för punkterna till 0.2 för att visa överlapp.
  • Ändra linjens shape till '|' för effektivare användning av utrymmet.
  • Flytta punkterna nedåt så att de inte överlappar densitetsformen med position = position_nudge(y = -0.05).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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() )
Redigera och kör kod