วิธีการพล็อตอนุกรมเวลาใน r (พร้อมตัวอย่าง)


บ่อยครั้ง คุณอาจต้องการพล็อตอนุกรมเวลาใน R เพื่อให้เห็นภาพว่าค่าในอนุกรมเวลาเปลี่ยนแปลงไปอย่างไรเมื่อเวลาผ่านไป

บทช่วยสอนนี้จะอธิบายวิธีการดำเนินการอย่างรวดเร็วโดยใช้ไลบรารีการแสดงภาพข้อมูล ggplot2

การวางแผนอนุกรมเวลาพื้นฐานใน R

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน R:

 #create dataset
df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99,
                 sales = runif (100, 10, 500) + seq (50, 149)^2)

#view first six rows
head(df)

        dirty date
1 2021-01-01 2845.506
2 2020-12-31 2837.849
3 2020-12-30 3115.517
4 2020-12-29 2847.161
5 2020-12-28 3374.619
6 2020-12-27 3182.005

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างพล็อตอนุกรมเวลาพื้นฐานสำหรับชุดข้อมูลนี้โดยใช้ ggplot2:

 library (ggplot2)

#create time series plot
p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line()

#display time series plot
p

การวางแผนอนุกรมเวลาพื้นฐานใน R

จัดรูปแบบวันที่บนแกน X

เราสามารถใช้ฟังก์ชัน scale_x_date() * เพื่อจัดรูปแบบวันที่ที่แสดงตามแนวแกน x ของโครงเรื่อง ฟังก์ชันนี้รับอาร์กิวเมนต์ต่อไปนี้:

  • %d: วันเป็นตัวเลขระหว่าง 0 ถึง 31
  • %a: ตัวย่อวันทำงาน (เช่น “อังคาร”)
  • %A: วันที่ไม่มีตัวย่อในสัปดาห์ (เช่น “วันอังคาร”)
  • %m : เดือนระหว่าง 0 ถึง 12
  • %b: เดือนแบบย่อ (เช่น “ม.ค.”)
  • %B: เดือนที่ไม่มีตัวย่อ (เช่น “มกราคม”)
  • %y: ปีที่เป็นตัวเลข 2 หลัก (เช่น “21”)
  • %Y: ปีที่เป็นตัวเลข 4 หลัก (เช่น “2021”)
  • %W: สัปดาห์ของปีระหว่าง 0 ถึง 52

* เพื่อให้ฟังก์ชันนี้ทำงานได้ ตัวแปรแกน x จะต้องเป็นตัวแปรวันที่ หากยังไม่ได้ดำเนินการ คุณสามารถแปลงเป็นรายการได้อย่างรวดเร็วโดยใช้ as.Date( Variable_name)

รหัสต่อไปนี้แสดงวิธีการใช้รูปแบบใดรูปแบบหนึ่งเหล่านี้ในทางปฏิบัติ:

 p + scale_x_date ( date_labels = " %b %Y ") 

การวางแผนอนุกรมเวลาด้วยวันที่ที่กำหนดเองใน R

คุณยังสามารถเพิ่มการหยุดพักตามแกน x บ่อยขึ้น (หรือไม่บ่อยนัก) ได้โดยใช้อาร์กิวเมนต์ date_breaks ตัวอย่างเช่น เราสามารถแสดงวันที่ทุกๆ สองสัปดาห์ตามแนวแกน x:

 p + scale_x_date ( date_breaks = " 2 week ") 

อนุกรมเวลาที่มีการข้ามวันที่บนแกน x ใน R

นอกจากนี้เรายังสามารถเอียงป้ายกำกับแกน x ได้อย่างง่ายดายโดยใช้อาร์กิวเมนต์ต่อไปนี้:

 p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 )) 

ป้ายกำกับแกน Tilt X ใน ggplot2

สุดท้ายนี้ เราสามารถเปลี่ยนธีม ป้ายกำกับแกน และชื่อเรื่องเพื่อทำให้โครงเรื่องอนุกรมเวลาดูน่าดึงดูดยิ่งขึ้น:

 p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line( color =" turquoise4 ") +
       theme_minimal() + 
       labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") +
       theme( plot.title = element_text (hjust=0.5, size=20, face=" bold "))

p 

อนุกรมเวลาพร้อมธีม ggplot ที่กำหนดเองใน R

แหล่งข้อมูลเพิ่มเติม

คู่มือฉบับสมบูรณ์เกี่ยวกับธีม ggplot2 ที่ดีที่สุด
คู่มือฉบับสมบูรณ์สำหรับชื่อ ggplot2
วิธีสร้างแปลงแบบเคียงข้างกันใน ggplot2

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *