НачатьНачать бесплатно

Ядерная оценка плотности на большом объёме данных

Приведённый код строит базовую ядерную оценку плотности (KDE) для percentage_over_limit по всем нарушениям. На первый взгляд настройки кажутся разумными: данных много, поэтому ширина бина выбрана узкой — всего один процент. Кроме того, к графику добавлена полосовая диаграмма (rug plot) с пониженным значением прозрачности alpha = 0.7.

Запустив этот код, вы сразу увидите, что график получился неудачным. Оценка плотности напоминает ёжика, а полосовая диаграмма из-за огромного перекрытия точек превращается в сплошную чёрную полосу.

Исправьте это: увеличьте ширину бина до 2.5 и уменьшите alpha полосовой диаграммы до 0.05, чтобы лучше отразить степень перекрытия точек. Не забудьте обновить подзаголовок, чтобы он отражал новую ширину ядра!

Это упражнение является частью курса

Лучшие практики визуализации в R

Посмотреть курс

Инструкции к упражнению

  • Измените стандартное отклонение ядра на 2.5
  • Задайте alpha полосовой диаграммы равным 0.05
  • Измените subtitle на "Gaussian kernel SD = 2.5", чтобы отразить новую ширину ядра.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

ggplot(md_speeding, aes(x = percentage_over_limit)) +
    # Increase bin width to 2.5
    geom_density(fill = 'steelblue', bw = 1,  alpha = 0.7) + 
    # lower rugplot alpha to 0.05
    geom_rug(alpha = 0.5) + 
    labs(
        title = 'Distribution of % over speed limit', 
        # modify subtitle to reflect change in kernel width
        subtitle = "Gaussian kernel SD = 1"
    )
Редактировать и запускать код