Dplyr का उपयोग करके डेटा फ़्रेम में एकाधिक मानों को कैसे बदलें


आप dplyr पैकेज में फ़ंक्शंस का उपयोग करके R में डेटा फ़्रेम में एकाधिक मानों को बदलने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 library (dplyr)

df %>%
  mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), 
         var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: dplyr का उपयोग करके एकाधिक मान बदलें

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

 #create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
                 position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
                 dots=c(22, 25, 29, 13, 18))

#view data frame
df

   conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18

अब मान लीजिए कि हम डेटा फ़्रेम में निम्नलिखित मानों को बदलना चाहते हैं:

  • ‘conf’ कॉलम:
    • “ईस्ट” को “ई” से बदलें
    • “पश्चिम” को “डब्ल्यू” में बदलें
    • “उत्तर” को “एन” से बदलें
  • “स्थिति” कॉलम:
    • “गार्ड” को “जी” में बदलें
    • “फॉरवर्ड” को “एफ” में बदलें

ऐसा करने के लिए हम mutate() और recode() फ़ंक्शंस का उपयोग कर सकते हैं:

 library (dplyr)

#replace multiple values in conf and position columns
df %>%
  mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), 
         position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F '))

  conf position points
1EG 22
2 EG 25
3 WG 29
4 WG 13
5 NF 18

ध्यान दें कि “conf” और “स्थिति” कॉलम में प्रत्येक मान को विशिष्ट मानों से बदल दिया गया है।

यह भी ध्यान दें कि “अंक” कॉलम में मान अपरिवर्तित रहे हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि dplyr का उपयोग करके अन्य सामान्य कार्य कैसे करें:

Dplyr का उपयोग करके मानों को कैसे रिकोड करें
dplyr में NA को शून्य से कैसे बदलें
Dplyr का उपयोग करके एक निश्चित स्ट्रिंग वाली पंक्तियों को कैसे फ़िल्टर करें

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

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