วิธีสร้างลำดับวันที่ด้วย lubridate ใน r


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อสร้างลำดับวันที่โดยใช้แพ็คเกจ lubridate ใน R:

 seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')

ตัวอย่างนี้จะสร้างลำดับวันที่ตั้งแต่ 1/1/2022 ถึง 10/31/2022 ในช่วงเวลา หนึ่งสัปดาห์

หากต้องการใช้ช่วงเวลาอื่น เพียงแทนที่ สัปดาห์ ด้วยหน่วยเวลาอื่น เช่น วัน เดือน ไตรมาส ปี ฯลฯ

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

ตัวอย่างที่ 1: สร้างลำดับวันที่ตามวัน

รหัสต่อไปนี้แสดงวิธีสร้างลำดับวันที่ตั้งแต่ 01/01/2022 ถึง 02/15/2022 ต่อวัน:

 library (lubridate)

#generate sequence of dates from 1/1/2022 to 2/15/2022 by day
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 day ')

 [1] "2022-01-01" "2022-01-02" "2022-01-03" "2022-01-04" "2022-01-05"
 [6] "2022-01-06" "2022-01-07" "2022-01-08" "2022-01-09" "2022-01-10"
[11] "2022-01-11" "2022-01-12" "2022-01-13" "2022-01-14" "2022-01-15"
[16] "2022-01-16" "2022-01-17" "2022-01-18" "2022-01-19" "2022-01-20"
[21] "2022-01-21" "2022-01-22" "2022-01-23" "2022-01-24" "2022-01-25"
[26] "2022-01-26" "2022-01-27" "2022-01-28" "2022-01-29" "2022-01-30"
[31] "2022-01-31" "2022-02-01" "2022-02-02" "2022-02-03" "2022-02-04"
[36] "2022-02-05" "2022-02-06" "2022-02-07" "2022-02-08" "2022-02-09"
[41] "2022-02-10" "2022-02-11" "2022-02-12" "2022-02-13" "2022-02-14"
[46] "2022-02-15"

ผลลัพธ์คือลำดับวันที่ 46 ตั้งแต่วันที่ 1/1/2022 ถึง 02/25/2022

หมายเหตุ : แทนที่จะป้อน 1 วัน คุณสามารถป้อนเพียง วัน ได้

ตัวอย่างที่ 2: สร้างลำดับวันที่ตามสัปดาห์

รหัสต่อไปนี้แสดงวิธีสร้างลำดับวันที่ตั้งแต่ 01/01/2022 ถึง 02/15/2022 ต่อสัปดาห์:

 library (lubridate)

#generate sequence of dates from 1/1/2022 to 2/15/2022 by week
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 week ')

[1] "2022-01-01" "2022-01-08" "2022-01-15" "2022-01-22" "2022-01-29"
[6] "2022-02-05" "2022-02-12"

ผลลัพธ์คือลำดับของ 7 วันตั้งแต่ 1/1/2022 ถึง 02/25/2022 ต่อสัปดาห์

นอกจากนี้เรายังสามารถใช้โค้ดต่อไปนี้เพื่อสร้างลำดับวันที่ตั้งแต่ 01/1/2022 ถึง 02/25/2022 ในช่วงเวลา 2 สัปดาห์ :

 library (lubridate)

#generate sequence of dates from 1/1/2022 to 2/15/2022 by 2 weeks
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 2 week ')

[1] "2022-01-01" "2022-01-15" "2022-01-29" "2022-02-12"

ผลลัพธ์คือลำดับของวันที่ 4 ลำดับตั้งแต่ 01/01/2022 ถึง 02/25/2022 ในช่วงเวลา 2 สัปดาห์

ตัวอย่างที่ 3: สร้างลำดับวันที่ต่อเดือน

รหัสต่อไปนี้แสดงวิธีสร้างลำดับวันที่ตั้งแต่ 01/01/2022 ถึง 10/31/2022 ต่อเดือน:

 library (lubridate)

#generate sequence of dates from 1/1/2022 to 10/31/2022 by month
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 month ')

 [1] "2022-01-01" "2022-02-01" "2022-03-01" "2022-04-01" "2022-05-01"
 [6] "2022-06-01" "2022-07-01" "2022-08-01" "2022-09-01" "2022-10-01"

ผลลัพธ์คือลำดับ 10 วันตั้งแต่ 01/01/2022 ถึง 10/31/02/2022 ต่อเดือน

โปรดทราบว่าในบทช่วยสอนนี้ เราได้แบ่งปันตัวอย่างบางส่วนเกี่ยวกับวิธีสร้างลำดับวันที่โดยใช้แพ็คเกจ lubridate

คุณสามารถเปลี่ยนวันที่เริ่มต้น วันที่สิ้นสุด และช่วงเวลาเพื่อสร้างลำดับวันที่ที่คุณต้องการได้

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

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

วิธีแปลงวันที่เป็นตัวเลขใน R
วิธีแยกเดือนจากวันที่ใน R
วิธีเพิ่มและลบเดือนถึงวันที่ใน R

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

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