วิธีกรองตามวันที่โดยใช้ dplyr


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

วิธีที่ 1: กรองแถวหลังวันที่

 df %>% filter(date_column > ' 2022-01-01 ')

วิธีที่ 2: กรองแถวก่อนวันที่

 df %>% filter(date_column < ' 2022-01-01 ') 

วิธีที่ 3: กรองแถวระหว่างวันที่สองวัน

 df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 ')))

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

 #create data frame
df <- data. frame (day=seq( as.Date (' 2022-01-01 '), by = ' week ', length.out = 10 ),
                 sales=c(40, 35, 39, 44, 48, 51, 23, 29, 60, 65))

#view data frame
df

          day sales
1 2022-01-01 40
2 2022-01-08 35
3 2022-01-15 39
4 2022-01-22 44
5 2022-01-29 48
6 2022-02-05 51
7 2022-02-12 23
8 2022-02-19 29
9 2022-02-26 60
10 2022-03-05 65

ตัวอย่างที่ 1: กรองแถวหลังวันที่

เราสามารถใช้โค้ดต่อไปนี้เพื่อกรองแถวจาก data frame ที่มีวันที่หลัง 25/01/2022:

 library (dplyr)

#filter for rows with date after 1/25/2022
df %>% filter(day > ' 2022-01-25 ')

         day sales
1 2022-01-29 48
2 2022-02-05 51
3 2022-02-12 23
4 2022-02-19 29
5 2022-02-26 60
6 2022-03-05 65

แต่ละแถวในกรอบข้อมูลผลลัพธ์จะมีวันที่หลัง 25/01/2022

ตัวอย่างที่ 2: กรองแถวก่อนวันที่

เราสามารถใช้โค้ดต่อไปนี้เพื่อกรองแถวจากกรอบข้อมูลที่มีวันที่ก่อน 25/01/2022:

 library (dplyr)

#filter for rows with date before 1/25/2022
df %>% filter(day < ' 2022-01-25 ')

         day sales
1 2022-01-01 40
2 2022-01-08 35
3 2022-01-15 39
4 2022-01-22 44

แต่ละแถวในกรอบข้อมูลผลลัพธ์จะมีวันที่ก่อน 25/01/2022

ตัวอย่างที่ 3: กรองแถวระหว่างวันที่สองวัน

เราสามารถใช้โค้ดต่อไปนี้เพื่อกรองแถวจาก data frame ที่มีวันที่ระหว่าง 01/20/2022 ถึง 02/20/2022:

 library (dplyr)

#filter for rows with dates between 1/20/2022 and 2/20/2022
df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 '))) 

         day sales
1 2022-01-22 44
2 2022-01-29 48
3 2022-02-05 51
4 2022-02-12 23
5 2022-02-19 29

แต่ละแถวในกรอบข้อมูลผลลัพธ์จะมีวันที่ระหว่างวันที่ 01/20/2022 ถึง 02/20/2022

หมายเหตุ #1 : หากวิธีใดๆ ข้างต้นไม่ได้ผล คุณอาจต้องแปลงวันที่ที่คุณใช้งานอยู่ให้เป็นรูปแบบวันที่ที่จดจำได้ก่อน โดยใช้ as.Date( function )

หมายเหตุ #2 : คุณสามารถค้นหาเอกสารฉบับเต็มของฟังก์ชัน ตัวกรอง ได้ใน dplyr ที่นี่

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

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

วิธีกรองแถวที่มีสตริงบางตัวโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีใช้ตัวกรอง “ไม่รวม” ใน dplyr

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

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