Dùng merge() và vẽ theo thời gian
Giờ đây bạn đã có dữ liệu nhiệt độ bao phủ cùng giai đoạn (2010–2015) và cùng tần suất (hàng tháng) với dữ liệu chuyến bay, bạn đã sẵn sàng để gộp.
Để gộp các đối tượng xts theo cột, bạn có thể dùng merge(). Khi hai đối tượng xts có cùng tính chu kỳ, merge() thường có thể kết hợp thông tin vào đúng các hàng. Ngay cả khi các đối tượng xts không có cùng tính chu kỳ, merge() vẫn sẽ giữ đúng thứ tự thời gian của các đối tượng đó qua các giai đoạn khác nhau.
Trong bài tập này, bạn sẽ gộp hai đối tượng xts theo cột và tạo các biểu đồ mới để khám phá mối liên hệ giữa độ trễ chuyến bay và nhiệt độ. temps_monthly và flights_xts đã có sẵn trong không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Nghiên cứu tình huống: Phân tích dữ liệu chuỗi thời gian của thành phố bằng R
Hướng dẫn bài tập
- Dùng
merge()để kết hợpflights_xtsvàtemps_monthly. Vì các đối tượng xts này có cùng tính chu kỳ, lệnh gộp của bạn sẽ đặt dữ liệu nhiệt độ vào đúng hàng trong đối tượngflights_xts. Lưu ý rằng thứ tự liệt kê các đối tượng để gộp sẽ quyết định vị trí các cột trong đối tượng đã gộp. Để nhất quán, chènflights_xtstrước vàtemps_monthlysau. - Xem vài hàng đầu tiên của đối tượng xts đã gộp (
flights_temps) để xác nhận việc gộp thành công. Bạn sẽ thấy dữ liệu nhiệt độ thẳng hàng với dữ liệu chuyến bay. - Dùng
plot.zoo()để tạo một biểu đồ đơn chứa cả hai cộtpct_delayvàtemps_monthlytừflights_temps. Nhớ chọn lọc đúng các cột liên quan và đặtplot.typelà"single". Giữ nguyên đối sốlty.
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.
# Use merge to combine your flights and temperature objects
flights_temps <- merge(___, ___)
# Examine the first few rows of your combined xts object
# Use plot.zoo to plot these two columns in a single panel
plot.zoo(___[,c("___", "___")], plot.type = "___", lty = lty)
legend("topright", lty = lty, legend = labels, bg = "white")