วิธีแปลงตัวเลขเป็นวันที่ใน r


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

บทช่วยสอนนี้มีตัวอย่างหลายตัวอย่างเกี่ยวกับวิธีใช้ฟังก์ชันเหล่านี้ในทางปฏิบัติ

ตัวอย่างที่ 1: แปลงจำนวนเต็มเป็นวันที่

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

 library (lubridate)

#create data frame
df <- data.frame(date = c(20201022, 20201023, 20201026, 20201027, 20201028),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ymd (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

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

[1] “Date”

โปรดทราบว่าแพ็คเกจ lubridate มีฟังก์ชันหลายอย่างเพื่อรองรับรูปแบบวันที่ที่แตกต่างกัน

ตัวอย่างเช่น ข้อมูลต่อไปนี้แสดงวิธีการแปลงคอลัมน์ของค่าจำนวนเต็มใน data frame ให้เป็นรูปแบบวันที่โดยใช้ฟังก์ชัน ydm()

 library (lubridate)

#create data frame
df <- data.frame(date = c(20202210, 20202310, 20202610, 20202710, 20202810),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ydm (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

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

[1] “Date”

ตัวอย่างที่ 2: แปลงเดือนและปีเป็นวันที่

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

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + months (df$date)

#view data frame
df

        dirty date
1 2010-12-01 4
2 2011-04-01 7
3 2011-07-01 8
4 2011-11-01 9
5 2012-01-01 12

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

[1] “Date”

และโค้ดต่อไปนี้แสดงวิธีการแปลงคอลัมน์ค่าตัวเลขที่แสดงจำนวนปีตั้งแต่วันที่ 1 มกราคม 2010 เป็นรูปแบบวันที่โดยใช้ฟังก์ชัน Years()

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + years (df$date)

#view data frame
df

        dirty dates
1 2021-01-01 4
2 2025-01-01 7
3 2028-01-01 8
4 2032-01-01 9
5 2034-01-01 12

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

[1] “Date”

โบนัส: โปรดดู เอกสารสรุปนี้ เพื่อทำความเข้าใจคุณสมบัติที่มีอยู่ในแพ็คเกจ Lubridate ให้ดียิ่งขึ้น

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

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