วิธีสร้างลำดับวันที่ด้วย 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