Bắt đầu ngayBắt đầu miễn phí

Trích xuất để vẽ biểu đồ

Việc trích xuất các thành phần từ một datetime đặc biệt hữu ích khi khám phá dữ liệu. Ở phần trước của chương, bạn đã nhập dữ liệu thời tiết theo ngày ở Auckland và tạo biểu đồ chuỗi thời gian cho nhiệt độ tối đa theo ngày trong mười năm. Mặc dù biểu đồ đó cho bạn cái nhìn tổng quan tốt về toàn bộ mười năm, nhưng rất khó để thấy mẫu lặp lại theo năm.

Trong bài tập này, bạn sẽ dùng các thành phần của ngày tháng để khám phá mô hình nhiệt độ tối đa trong năm. Bước đầu tiên là tạo một vài cột mới để chứa các phần được trích xuất, sau đó bạn sẽ dùng chúng trong một vài biểu đồ.

Bài tập này là một phần của khóa học

Làm việc với Ngày và Giờ trong R

Xem khóa học

Hướng dẫn bài tập

  • Dùng mutate() để tạo ba cột mới: year, ydaymonth lần lượt chứa các thành phần tương ứng của cột date. Đừng quên gắn nhãn các tháng bằng tên của chúng.
  • Tạo một biểu đồ với yday trên trục x, max_temp trên trục y, trong đó các đường được nhóm theo year. Mỗi năm là một đường trên biểu đồ này, với trục x chạy từ 1 Thg 1 đến 31 Thg 12.
  • Để có một góc nhìn khác, tạo một ridgeline plot (trước đây gọi là joyplot) với max_temp trên trục x, month trên trục y, sử dụng geom_density_ridges() từ gói ggridges.

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.

library(ggplot2)
library(dplyr)
library(ggridges)

# Add columns for year, yday and month
akl_daily <- akl_daily %>%
  mutate(
    ___ = ___(date),
    ___ = ___(date),
    ___ = ___(date, ___))

# Plot max_temp by yday for all years
ggplot(akl_daily, aes(x = ___, y = ___)) +
  geom_line(aes(group = ___), alpha = 0.5)

# Examine distribution of max_temp by month
ggplot(akl_daily, aes(x = ___, y = ___, height = ..density..)) +
  geom_density_ridges(stat = "density")
Chỉnh sửa và Chạy Mã