วิธีการคำนวณจำนวนเดือนระหว่างวันที่ใน r


คุณสามารถใช้วิธีใดวิธีหนึ่งจากสองวิธีในการคำนวณจำนวนเดือนระหว่างวันที่สองวันใน R:

วิธีที่ 1: คำนวณจำนวนเดือนทั้งหมดระหว่างวันที่

 library (lubridate)

interval(first_date, second_date) %/% months( 1 )

วิธีที่ 2: คำนวณจำนวนเดือนที่เป็นเศษ (มีตำแหน่งทศนิยม) ระหว่างวันที่

 library (lubridate)

interval(first_date, second_date) %/% days( 1 ) / ( 365 / 12 )

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

ตัวอย่างที่ 1: คำนวณจำนวนเดือนทั้งหมดระหว่างวันที่

เราสามารถใช้โค้ดต่อไปนี้เพื่อคำนวณจำนวนเดือนทั้งหมดระหว่างวันที่สองวันใน R:

 library (lubridate)

#define dates
first_date <- as. Date (' 2022-05-01 ')
second_date <- as. Date (' 2022-09-04 ')

#calculate difference between dates in months
diff <- interval(first_date, second_date) %/% months( 1 )

#view difference
Diff

[1] 4

เราเห็นว่ามีสอง เดือนเต็ม ระหว่างวันที่สองที่เราระบุ

ตัวอย่างที่ 2: คำนวณจำนวนเดือนบางส่วนระหว่างวันที่

เราสามารถใช้รหัสต่อไปนี้เพื่อคำนวณจำนวนเดือนบางส่วนระหว่างวันที่สองวันใน R:

 library (lubridate)

#define dates
first_date <- as. Date (' 2022-05-01 ')
second_date <- as. Date (' 2022-09-04 ')

#calculate difference between dates in partial months
diff <- interval(first_date, second_date) %/% days( 1 ) / ( 365 / 12 )

#view difference
Diff

[1] 4.142466

เราจะเห็นว่ามี 4.142466 เดือนระหว่างวันที่สองที่เราระบุ

โปรดทราบว่าวิธีนี้มีความเฉพาะเจาะจงมากกว่าวิธีก่อนหน้านี้ เนื่องจากยังบอกจำนวนเดือน ที่ไม่เป็นบางส่วน ระหว่างวันที่ด้วย

คุณอาจต้องการใช้วิธีใดวิธีหนึ่งเหล่านี้มากกว่าวิธีอื่น ทั้งนี้ขึ้นอยู่กับสถานการณ์ของคุณ

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

 install. packages (' lubridate ')

คุณยังสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน Interval() ที่เราใช้ได้ ที่นี่

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

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

วิธีแปลงอักขระเป็นการประทับเวลาใน R
วิธีการแปลงตัวประกอบเป็นวันที่ใน R
วิธีแยกปีจากวันที่ใน R

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

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