“Mưa” dữ liệu (rải điểm)
Mức độ hai đỉnh tăng lên vào đầu tuần có thể khá thuyết phục, nhưng trước khi kết luận, bạn nên vẽ từng điểm bên dưới các đường mật độ để xem KDE đang nội suy như thế nào.
Trong mã đã có từ các bài trước, chúng ta thêm một hình học điểm để làm việc này. Bạn sẽ thấy kết quả chưa đẹp lắm. Để cải thiện, ta sẽ làm vài việc…
Đầu tiên, giảm nhẹ alpha của điểm để nhìn được phần chồng lắp. Thứ hai, chuyển dạng điểm sang các vạch dọc kiểu geom_rug() ('|').
Ở bước này, nếu bạn chạy mã, bạn sẽ thấy các điểm bị “cắt” khó chịu vào hình mật độ. Ta cần “đẩy” (nudge) các vạch đánh dấu xuống một chút theo trục y. Để làm vậy, dùng tham số position cùng hàm hỗ trợ position_nudge().
Bài tập này là một phần của khóa học
Thực hành tốt nhất về trực quan hóa trong R
Hướng dẫn bài tập
- Giảm
alphacủa các điểm xuống0.2để thể hiện phần chồng lắp. - Đổi
shapecủa điểm thành'|'để sử dụng không gian hiệu quả hơn. - Đẩy các điểm xuống để không đè lên hình mật độ với
position = position_nudge(y = -0.05).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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() )