ตอบ: วิธีแปลงอักขระเป็นวันที่โดยใช้ lubridate


คุณสามารถใช้ฟังก์ชันต่างๆ จากแพ็คเกจ lubridate ใน R เพื่อแปลงคอลัมน์อักขระเป็นรูปแบบวันที่

ฟังก์ชันที่พบบ่อยที่สุดสองฟังก์ชัน ได้แก่:

  • ymd() – แปลงอักขระในรูปแบบปี-เดือน-วันที่ให้เป็นวันที่
  • mdy() – แปลงอักขระในรูปแบบเดือนวันปีเป็นวันที่

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

หมายเหตุ : โปรดดู เอกสารประกอบของ Lubridate สำหรับรายการฟังก์ชันทั้งหมดที่คุณสามารถใช้เพื่อแปลงอักขระเป็นวันที่ตามรูปแบบวันที่ของคุณ

ตัวอย่างที่ 1: แปลงอักขระเป็นวันที่โดยใช้ ymd()

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

 #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 dates
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

#view class of date column
class(df$date)

[1] “character”

ปัจจุบันค่าในคอลัมน์ วัน ที่เป็นอักขระ แต่เราสามารถใช้ฟังก์ชัน ymd() จากแพ็คเกจ lubridate เพื่อแปลงเป็นวันที่:

 library (lubridate)

#convert character to date format
df$date <- ymd(df$date)

#view updated 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

#view updated class of date column
class(df$date)

[1] “Date”

เราจะเห็นว่าคอลัมน์ วัน ที่ตอนนี้มีคลาส Date แทนที่จะเป็น Character

ตัวอย่างที่ 2: แปลงอักขระเป็นวันที่โดยใช้ mdy()

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

 #create data frame
df <- data. frame (date=c('March 4, 2022', 'April 9, 2022', 'May 6, 2022',
                        'May 29, 2022', 'June 1, 2022', 'July 2, 2022'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

           dirty date
1 March 4, 2022 14
2 April 9, 2022 29
3 May 6, 2022 25
4 May 29, 2022 23
5 June 1, 2022 39
6 July 2, 2022 46

#view class of date column
class(df$date)

[1] “character”

ปัจจุบันค่าคอลัมน์ วัน ที่เป็นอักขระ แต่เราสามารถใช้ฟังก์ชัน mdy() จากแพ็คเกจ lubridate เพื่อแปลงเป็นวันที่:

 library (lubridate)

#convert character to date format
df$date <- mdy(df$date)

#view updated data frame
df

        dirty dates
1 2022-03-04 14
2 2022-04-09 29
3 2022-05-06 25
4 2022-05-29 23
5 2022-06-01 39
6 2022-07-02 46

#view updated class of date column
class(df$date)

[1] “Date”

เราจะเห็นว่าคอลัมน์ วัน ที่ตอนนี้มีคลาส Date แทนที่จะเป็น Character

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

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

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

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

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