मुख्य सामग्री पर जाएं
मॉड्यूल 4 · पाठ 1 का 2पाठ्यक्रम में 7/10~12 min
मॉड्यूल पाठ (1/2)

डेटा को फ़िल्टर करना और चयन करना

टिडीवर्स डेटा विज्ञान के लिए डिज़ाइन किए गए आर पैकेजों का एक संग्रह है जो एक सामान्य दर्शन, व्याकरण और डेटा संरचनाओं को साझा करता है। इस सुइट में डेटा हेरफेर के लिए मुख्य पैकेज को dplyr कहा जाता है।

dplyr फ़ंक्शंस ("क्रिया") का एक सेट प्रस्तुत करता है जो डेटा फ़्रेम हेरफेर को अत्यधिक सहज बनाता है।


पाइप ऑपरेटर (%>% या |>)

टिडीवर्स दर्शन संचालन को एक साथ जोड़ने पर केंद्रित है। पाइप ऑपरेटर %>% (या R 4.1+ में प्रस्तुत मूल पाइप |>) एक अभिव्यक्ति का परिणाम लेता है और इसे अगले फ़ंक्शन के पहले तर्क के रूप में पास करता है। यह नेस्टेड फ़ंक्शन कॉल से बचाता है और अस्थायी चर के साथ आपके कार्यक्षेत्र को अव्यवस्थित होने से रोकता है।

R
# Without pipe:
filter(select(df, name, age), age > 20)

# With pipe:
df %>%
  select(name, age) %>%
  filter(age > 20)

फ़िल्टरिंग और चयन के लिए dplyr क्रियाएँ

डेटा फ़्रेम से डेटा निकालने के लिए तीन मूलभूत क्रियाएं हैं:

1. select()

डेटा फ़्रेम से विशिष्ट कॉलम का चयन करता है। आप कॉलम को बाहर करने के लिए - उपसर्ग को रखने या उपयोग करने के लिए कॉलम नामों को सूचीबद्ध कर सकते हैं।

R
# Select the 'name' and 'salary' columns
select(df, name, salary)

# Remove the 'address' column
select(df, -address)

2. filter()

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

R
# Filter rows where age is greater than 30
filter(df, age > 30)

# Filter using multiple conditions (logical AND)
filter(df, age > 30, department == "HR")

3. arrange()

एक या अधिक स्तंभों के मानों के आधार पर पंक्तियों को क्रमबद्ध करता है। सॉर्टिंग क्रम डिफ़ॉल्ट रूप से आरोही है। अवरोही क्रम में क्रमबद्ध करने के लिए, कॉलम नाम को desc() में लपेटें।

R
# Sort by age (ascending)
arrange(df, age)

# Sort by salary (descending)
arrange(df, desc(salary))

खुद कोशिश करना

अभ्यास 1: कॉलम चुनें

व्यायाम#r.m4.l1.e1
प्रयास: 0लोड हो रहा है...

डेटा फ़्रेम df को देखते हुए, चयन() का उपयोग करके नाम और आयु कॉलम चुनें और परिणाम को df_selected में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

यूएसए: df_selected <- चुनें(df, नाम, उम्र)

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#r.m4.l1.e2
प्रयास: 0लोड हो रहा है...

डेटा फ़्रेम df की पंक्तियों को फ़िल्टर करें जहां आयु कॉलम सख्ती से 18 से अधिक है, परिणाम को df_adults में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

फ़िल्टर(df, आयु > 18) फ़ंक्शन का उपयोग करें और परिणाम df_adults को निर्दिष्ट करें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#r.m4.l1.e3
प्रयास: 0लोड हो रहा है...

श्रृंखला संचालन के लिए पाइप ऑपरेटर %>% का उपयोग करें: पहले फ़िल्टर डीएफ को केवल उन रिकॉर्डों को ध्यान में रखते हुए जहां उम्र> 18 है, और फिर नाम कॉलम का चयन करें। परिणाम को Res में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

स्क्रिवी: रेस <- डीएफ %>% फ़िल्टर(आयु > 18) %>% चयन करें(नाम)

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#r.m4.l1.e4
प्रयास: 0लोड हो रहा है...

अरेंज () और डीएससी () का उपयोग करके वेतन कॉलम के आधार पर डेटा फ्रेम डीएफ की पंक्तियों को अवरोही क्रम में क्रमबद्ध करें। परिणाम को df_sorted में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

यूएसए अरेंज (डेस्क (सैलरी)) ऑल'इंटरनो डि यूना पाइपलाइन ओ कम अर्गोमेंटो डायरेटो।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#r.m4.l1.e5
प्रयास: 0लोड हो रहा है...

डीएफ पर एक पूरी पाइपलाइन लिखें: उन रिकॉर्ड्स को फ़िल्टर करें जहां विभाग 'आईटी' के बराबर है, कॉलम नाम और वेतन का चयन करें, और वेतन (आरोही) के आधार पर परिणाम को क्रमबद्ध करें। अंतिम परिणाम को Res में सहेजें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

चेन फ़िल्टर (विभाग == 'आईटी'), चयन (नाम, वेतन), और व्यवस्था (वेतन) के लिए पाइप %>% का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है