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


วิธีที่ง่ายที่สุดในการสร้างวัตถุอนุกรมเวลาใน R คือการใช้ฟังก์ชัน ts()

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

ts(ข้อมูล, เริ่มต้น, สิ้นสุด, ความถี่)

ทอง:

  • data : เวกเตอร์หรือเมทริกซ์ของค่าอนุกรมเวลา
  • start : เวลาที่สังเกตครั้งแรก
  • end : เวลาของการสังเกตครั้งล่าสุด
  • ความถี่ : จำนวนการสังเกตต่อหน่วยเวลา

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อสร้างออบเจ็กต์อนุกรมเวลาที่แตกต่างกันในทางปฏิบัติ

ตัวอย่างที่ 1: สร้างอนุกรมเวลาด้วยข้อมูลรายเดือน

สมมติว่าเรามีเวกเตอร์ต่อไปนี้เรียกว่า data ซึ่งมีจำนวนยอดขายของร้านค้าปลีกเป็นเวลา 20 เดือนติดต่อกัน เริ่มตั้งแต่วันที่ 1 ตุลาคม 2023:

 #create vector of 20 values
data <- c(6, 7, 7, 7, 8, 5, 8, 9, 4, 9, 12, 14, 14, 15, 18, 24, 20, 15, 24, 26)

เราสามารถใช้ฟังก์ชัน ts() และระบุ Frequency=12 เพื่อสร้างวัตถุอนุกรมเวลาจากเวกเตอร์นี้:

 #create time series object from vector
ts_data <- ts(data, start=c(2023, 10), frequency=12)

#view time series object
ts_data

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2023 6 7 7
2024 7 8 5 8 9 4 9 12 14 14 15 18
2025 24 20 15 24 26                            

โปรดทราบว่าเวกเตอร์ของค่าถูกแปลงเป็นวัตถุอนุกรมเวลาโดยที่ค่าเชื่อมโยงกับเดือนตั้งแต่ตุลาคม 2566 ถึงพฤษภาคม 2568

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน class() เพื่อยืนยันว่า ts_data เป็นวัตถุอนุกรมเวลา:

 #display class of ts_data object
class(ts_data)

 [1] “ts”

ตัวอย่างที่ 2: สร้างอนุกรมเวลาด้วยข้อมูลรายปี

สมมติว่าเรามีเวกเตอร์ต่อไปนี้ชื่อ data ซึ่งมีจำนวนยอดขายของร้านค้าปลีกเป็นเวลา 20 ปีติดต่อกัน เริ่มตั้งแต่ปี 2000:

 #create vector of 20 values
data <- c(6, 7, 7, 7, 8, 5, 8, 9, 4, 9, 12, 14, 14, 15, 18, 24, 20, 15, 24, 26)

เราสามารถใช้ฟังก์ชัน ts() และระบุ Frequency=1 เพื่อสร้างวัตถุอนุกรมเวลาจากเวกเตอร์นี้:

 #create time series object from vector
ts_data <- ts(data, start=2023, frequency=1)

#view time series object
Time Series:
Start = 2000 
End = 2019 
Frequency = 1 
 [1] 6 7 7 7 8 5 8 9 4 9 12 14 14 15 18 24 20 15 24 26 

โปรดทราบว่าเวกเตอร์ของค่าได้ถูกแปลงเป็นวัตถุอนุกรมเวลาโดยที่ค่าเชื่อมโยงกับปีตั้งแต่ปี 2000 ถึง 2019

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน class() เพื่อยืนยันว่า ts_data เป็นวัตถุอนุกรมเวลา:

 #display class of ts_data object
class(ts_data)

 [1] “ts”

หากต้องการ เรายังสามารถใช้ฟังก์ชัน plot() เพื่อแสดงภาพยอดขายตามปีได้:

 #create line plot of time series data
plot(ts_data) 

โปรดทราบว่าแกน X จะแสดงปีและแกน Y จะแสดงมูลค่าการขาย

เรายังปรับแต่งโครงเรื่องเพื่อให้อ่านง่ายขึ้น:

 #create line plot with custom x-axis, y-axis, title, line color and line width
plot(ts_data, xlab=' Year ', ylab=' Sales ', main=' Sales by Year ', col=' blue ', lwd= 3 )

คุณสามารถแก้ไขอาร์กิวเมนต์ของฟังก์ชัน plot() เพื่อสร้างอนุกรมเวลาที่คุณต้องการได้

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีการพล็อตอนุกรมเวลาใน R
วิธีแปลง data frame เป็นอนุกรมเวลาใน R
วิธีการแปลงสตริงเป็น Datetime ใน R

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

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