วิธีแปลง data frame เป็นอนุกรมเวลาใน r


วิธีที่ง่ายที่สุดในการแปลง data frame เป็นวัตถุอนุกรมเวลาใน R คือการใช้ฟังก์ชัน read.zoo() จากแพ็คเกจ สวนสัตว์ :

 tseries <- read. zoo (df)

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ตัวอย่าง: แปลง Data Frame เป็นอนุกรมเวลาใน R

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (date = as.Date (' 2022-01-01 ') + 0:9,
                 sales = runif(10, 10, 500) + seq(50, 59)^2)

#view data frame
df

         dirty date
1 2022-01-01 2797.159
2 2022-01-02 2782.148
3 2022-01-03 2801.773
4 2022-01-04 3257.546
5 2022-01-05 3415.920
6 2022-01-06 3267.564
7 2022-01-07 3577.496
8 2022-01-08 3627.193
9 2022-01-09 3509.547
10 2022-01-10 3670.815

เราสามารถใช้ฟังก์ชัน class() เพื่อยืนยันว่า df ปัจจุบันเป็น data frame:

 #display class of df
class(df)

[1] "data.frame"

ในการแปลง data frame เป็นวัตถุอนุกรมเวลา เราสามารถใช้ฟังก์ชัน read.zoo() จากแพ็คเกจ สวนสัตว์ :

 library (zoo)

#convert data frame to time series
tseries <- read. zoo (df)

#view time series
tseries

2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05 2022-01-06 2022-01-07 
  2797.159 2782.148 2801.773 3257.546 3415.920 3267.564 3577.496 
2022-01-08 2022-01-09 2022-01-10 
  3627.193 3509.547 3670.815

และเราสามารถใช้ฟังก์ชัน class() เพื่อยืนยันว่า tseries มีคลาสอนุกรมเวลา “zoo”

 #display class of tseries
class(tseries)

[1] “zoo”

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน as.ts() เพื่อแปลงวัตถุอนุกรมเวลา “zoo” เป็นวัตถุอนุกรมเวลา “ts”:

 #convert to ts object
tseries_ts <- as. ts (tseries)

#view time series object
tseries_ts

Time Series:
Start = 18993 
End = 19002 
Frequency = 1 
 [1] 2797.159 2782.148 2801.773 3257.546 3415.920 3267.564 3577.496 3627.193
 [9] 3509,547 3670,815

#view class
class(tseries_ts)

[1] “ts”

ขึ้นอยู่กับเป้าหมายสุดท้ายของคุณ การแปลงกรอบข้อมูลเป็นวัตถุอนุกรมเวลา “สวนสัตว์” หรือวัตถุอนุกรมเวลา “ts” อาจเหมาะสมกว่า

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

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

วิธีการพล็อตอนุกรมเวลาใน R
วิธีการแปลงสตริงเป็น Datetime ใน R
วิธีใช้ difftime ใน R เพื่อคำนวณความแตกต่างของเวลา

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

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