ฉันกำลังฝึกใช้ R และประสบความเร็จอย่างรวดเร็วในขณะที่พยายามสร้างกราฟของผู้โดยสารสายการบินต่อเดือน
ฉันต้องการแสดงกราฟเส้นรายเดือนแยกกันในแต่ละปีตั้งแต่ปี 1949 ถึง 1960 โดยมีการบันทึกข้อมูลไว้ ในการทำเช่นนี้ ฉันได้ใช้ ggplot เพื่อสร้างกราฟเส้นที่มีค่าต่อเดือน วิธีนี้ใช้งานได้ดี แต่เมื่อฉันพยายามแยกสิ่งนี้ตามปีโดยใช้ facet_wrap() และจัดรูปแบบฟิลด์ month
ปัจจุบัน: facet_wrap(format(air$month[seq(1, length(air$month), 12)], "%Y"))
; มันส่งคืนสิ่งนี้:
ฉันได้พยายามจัดรูปแบบด้านด้วยการป้อนลำดับของตัวเองเป็นเวลาหลายปี: rep(c(1949:1960), each = 12)
สิ่งนี้ให้ผลลัพธ์ที่แตกต่างออกไปซึ่งดีกว่าแต่ก็ยังผิดอยู่:
นี่คือรหัสของฉัน:
air = data.frame(
month = seq(as.Date("1949-01-01"), as.Date("1960-12-01"), by="months"),
air = as.vector(AirPassengers)
)
ggplot(air, aes(x = month, y = air)) +
geom_point() +
labs(x = "Month", y = "Passengers (in thousands)", title = "Total passengers per month, 1949 - 1960") +
geom_smooth(method = lm, se = F) +
geom_line() +
scale_x_date(labels = date_format("%b"), breaks = "12 month") +
facet_wrap(format(air$month[seq(1, length(air$month), 12)], "%Y"))
#OR
facet_wrap(rep(c(1949:1960), each = 12))
แล้วฉันจะสร้างกราฟรายบุคคลต่อปีได้อย่างไร?
ขอบคุณ!