ตอบ: วิธีรับวันแรกหรือวันสุดท้ายของเดือนโดยใช้ lubridate


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

วิธีที่ 1: รับวันแรกของเดือน

 library (lubridate)

df$first_day <- floor_date(ymd(df$date), ' month ')

วิธีที่ 2: รับวันสุดท้ายของเดือน

 library (lubridate)

df$last_day <- ceiling_date(ymd(df$date), ' month ') - days( 1 )

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:

 #create data frame
df <- data. frame (date=c('2022-01-05', '2022-02-18', '2022-03-21',
                        '2022-09-15', '2022-10-30', '2022-12-25'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

        dirty date
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46

ตัวอย่างที่ 1: รับวันแรกของเดือนโดยใช้น้ำมันหล่อลื่น

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน floor_date() ของแพ็คเกจ lubridate เพื่อรับวันแรกของเดือนสำหรับแต่ละค่าในคอลัมน์ วันที่ :

 #add new column that contains first day of month
df$first_day <- floor_date(ymd(df$date), ' month ')

#view updated data frame
df

        date sales first_day
1 2022-01-05 14 2022-01-01
2 2022-02-18 29 2022-02-01
3 2022-03-21 25 2022-03-01
4 2022-09-15 23 2022-09-01
5 2022-10-30 39 2022-10-01
6 2022-12-25 46 2022-12-01

โปรดทราบว่าค่าในคอลัมน์ first_day ใหม่จะมีวันแรกของเดือนสำหรับแต่ละค่าในคอลัมน์ วันที่

หมายเหตุ : เราใช้ฟังก์ชัน ymd() เพื่อแปลงสตริงในคอลัมน์วันที่ให้เป็นรูปแบบวันที่ที่จดจำได้ก่อน

ตัวอย่างที่ 2: รับวันสุดท้ายของเดือนโดยใช้ Lubridate

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Ceiling_date() ของแพ็คเกจ lubridate เพื่อรับวันสุดท้ายของเดือนสำหรับแต่ละค่าในคอลัมน์ วันที่ :

 #add new column that contains last day of month
df$last_day <- ceiling_date(ymd(df$date), ' month ') - days( 1 )

#view updated data frame
df

        date sales last_day
1 2022-01-05 14 2022-01-31
2 2022-02-18 29 2022-02-28
3 2022-03-21 25 2022-03-31
4 2022-09-15 23 2022-09-30
5 2022-10-30 39 2022-10-31
6 2022-12-25 46 2022-12-3122-12-01

โปรดทราบว่าค่าในคอลัมน์ Last_day ใหม่จะมีวันสุดท้ายของเดือนสำหรับแต่ละค่าในคอลัมน์ วันที่

โปรดดู หน้าเอกสารประกอบ ของ Lubridate สำหรับตัวเลือกการจัดรูปแบบวันที่เพิ่มเติม

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

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

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

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

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