始める無料で始める

データ点を降らせよう

週の前半に見られる二峰性の高まりは魅力的に見える かも しれませんが、ここで打ち切る前に、KDE が補間で何をしているのかを把握するため、密度の下に個々の点を描画してみましょう。

前の演習のコードに、まさにそれを行うための点ジオムを追加しました。ただし、このままだと見た目がいまひとつです。改善のためにいくつか手を入れます。

まず、点の alpha を少し下げて重なりを可視化します。次に、点の形状を geom_rug() 風の縦線('|')に切り替えます。

この段階でコードを実行すると、点が密度の形状に不格好に食い込むのが分かります。目盛り線を y 軸方向に少しだけ下へ「押しやる」必要があります。これには position 引数と補助関数 position_nudge() を使います。

この演習はコースの一部です

R による可視化ベストプラクティス

コースを見る

演習の手順

  • 点の alpha0.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() )
コードを編集して実行