データ点を降らせよう
週の前半に見られる二峰性の高まりは魅力的に見える かも しれませんが、ここで打ち切る前に、KDE が補間で何をしているのかを把握するため、密度の下に個々の点を描画してみましょう。
前の演習のコードに、まさにそれを行うための点ジオムを追加しました。ただし、このままだと見た目がいまひとつです。改善のためにいくつか手を入れます。
まず、点の alpha を少し下げて重なりを可視化します。次に、点の形状を geom_rug() 風の縦線('|')に切り替えます。
この段階でコードを実行すると、点が密度の形状に不格好に食い込むのが分かります。目盛り線を y 軸方向に少しだけ下へ「押しやる」必要があります。これには position 引数と補助関数 position_nudge() を使います。
この演習はコースの一部です
R による可視化ベストプラクティス
演習の手順
- 点の
alphaを0.2に下げて重なりを見やすくします。 - スペース効率を高めるため、線の
shapeを'|'に変更します。 position = position_nudge(y = -0.05)を使って、点が密度形状と重ならないように下方向へずらします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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() )