Dplyr का उपयोग करके दिनांक के अनुसार फ़िल्टर कैसे करें
आप dplyr पैकेज का उपयोग करके R में दिनांकों के अनुसार डेटा फ़्रेम को फ़िल्टर करने के लिए निम्न विधियों का उपयोग कर सकते हैं:
विधि 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 ')))
निम्नलिखित उदाहरण दिखाते हैं कि आर में निम्नलिखित डेटा फ्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:
#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: दिनांक के बाद पंक्तियों को फ़िल्टर करें
हम डेटा फ़्रेम से उन पंक्तियों को फ़िल्टर करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं जिनकी तारीख 01/25/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
परिणामी डेटा फ़्रेम में प्रत्येक पंक्ति की तारीख 01/25/2022 के बाद की है।
उदाहरण 2: दिनांक से पहले पंक्तियों को फ़िल्टर करें
हम डेटा फ़्रेम से पंक्तियों को फ़िल्टर करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं जिनकी तारीख 01/25/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
परिणामी डेटा फ़्रेम में प्रत्येक पंक्ति की तारीख 01/25/2022 से पहले है।
उदाहरण 3: दो तिथियों के बीच पंक्तियों को फ़िल्टर करें
हम डेटा फ़्रेम से पंक्तियों को फ़िल्टर करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं जिनकी तारीख 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 में “शामिल नहीं” फ़िल्टर का उपयोग कैसे करें