Dplyr का उपयोग करके एक निश्चित स्ट्रिंग वाली पंक्तियों को कैसे फ़िल्टर करें


अक्सर आप आर में डेटा फ़्रेम में पंक्तियों को फ़िल्टर करना चाह सकते हैं जिनमें एक निश्चित स्ट्रिंग होती है। सौभाग्य से, dplyr पैकेज में फ़िल्टर() फ़ंक्शन और बेस आर में grepl() फ़ंक्शन का उपयोग करना आसान है।

यह ट्यूटोरियल निम्नलिखित डेटा फ्रेम का उपयोग करके इन कार्यों के व्यावहारिक उपयोग के कई उदाहरण दिखाता है:

 #create data frame
df <- data.frame(player = c('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'),
                 points = c(12, 15, 19, 22, 32),
                 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

     player points rebounds
1 P Guard 12 5
2 S Guard 15 7
3S Forward 19 7
4 P Forward 22 12
5 Center 32 11

उदाहरण 1: एक निश्चित स्ट्रिंग वाली पंक्तियों को फ़िल्टर करें

निम्नलिखित कोड दिखाता है कि एक निश्चित स्ट्रिंग वाली पंक्तियों को कैसे फ़िल्टर किया जाए:

 #load dplyr package
library(dplyr)

#filter rows that contain the string 'Guard' in the player column
df %>% filter ( grepl ('Guard', player))

   player points rebounds
1 P Guard 12 5
2 S Guard 15 7

संबंधित: R में grep() और grepl() की तुलना: क्या अंतर है?

उदाहरण 2: कम से कम एक स्ट्रिंग वाली पंक्तियों को फ़िल्टर करें

निम्नलिखित कोड दिखाता है कि प्लेयर कॉलम में “गार्ड” या “फॉरवर्ड” वाली पंक्तियों को कैसे फ़िल्टर किया जाए:

 #filter rows that contain 'Guard' or 'Forward' in the player column
df %>% filter ( grepl ('Guard|Forward', player))

     player points rebounds
1 P Guard 12 5
2 S Guard 15 7
3S Forward 19 7
4 P Forward 22 12

निम्नलिखित कोड दिखाता है कि रीडर कॉलम में “पी” या “सेंटर” वाली पंक्तियों को कैसे फ़िल्टर किया जाए:

 #filter rows that contain 'P' or 'Center' in the player column
df %>% filter ( grepl ('P|Center', player))

     player points rebounds
1 P Guard 12 5
2 P Forward 22 12
3 Center 32 11

उदाहरण 3: एक निश्चित स्ट्रिंग वाली पंक्तियों को फ़िल्टर करें

निम्नलिखित कोड दिखाता है कि प्लेयर कॉलम में “गार्ड” वाली पंक्तियों को कैसे फ़िल्टर करें (यानी हटाएं):

 #filter out rows that contain 'Guard' in the player column
df %>% filter (! grepl ('Guard', player))

     player points rebounds
1S Forward 19 7
2 P Forward 22 12
3 Center 32 11

निम्नलिखित कोड दिखाता है कि प्लेयर कॉलम में “गार्ड” या “सेंटर” वाली पंक्तियों को कैसे फ़िल्टर करें (यानी हटाएं):

 #filter out rows that contain 'Guard' or 'Center' in the player column
df %>% filter (! grepl ('Guard|Center', player))

     player points rebounds
1S Forward 19 7
2 P Forward 22 12

आप यहां अधिक आर ट्यूटोरियल पा सकते हैं।

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *