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
Övningsinstruktioner
- Sänk
alphaför punkterna till0.2för att visa överlapp. - Ändra linjens
shapetill'|'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() )