วิธีจัดเรียง data frame ตามวันที่ใน r (พร้อมตัวอย่าง)


มีสองวิธีง่ายๆ ในการจัดเรียงกรอบข้อมูลตามวันที่ใน R:

วิธีที่ 1: คำสั่งผู้ใช้ () จากฐาน R

 #sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

วิธีที่ 2: ใช้ฟังก์ชันของแพ็คเกจ lubridate และ dplyr

 library (lubridate)
library (dplyr)

#sort from least recent to most recent 
df %>% arrange ( mdy (df$date))

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

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

วิธีที่ 1: ใช้ order() จากฐาน R

วิธีที่ง่ายที่สุดในการจัดเรียงกรอบข้อมูลตามตัวแปรวันที่ใน R คือการใช้ฟังก์ชัน R base order() รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty dates
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

        dirty dates
1 10/30/2021 3
3 11/13/2021 14
2 11/18/2021 15
4 11/19/2021 9
#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

        dirty date
4 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
1 10/30/2021 3

วิธีที่ 2: ใช้ Lubridate และ Dplyr

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

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty date
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df %>% arrange ( mdy (df$date))

        dirty date
1 10/30/2021 3
2 11/13/2021 14
3 11/18/2021 15
4 11/19/2021 9

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

        dirty date
1 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
4 10/30/2021 3

โปรดทราบว่าเราใช้ lubridate เพื่อระบุวันที่ในรูปแบบ mdy() แต่คุณสามารถดู ข้อมูลสรุปนี้ เพื่อดูรูปแบบวันที่อื่นๆ หากวันที่ของคุณอยู่ในรูปแบบอื่น

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

วิธีแยกปีจากวันที่ใน R
วิธีรวบรวมข้อมูลรายวันเป็นข้อมูลรายเดือนและรายปีใน R
วิธีจัดเรียงเส้นใน R

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

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