एकाधिक टेम्पलेट्स को बदलने के लिए r में gsub() का उपयोग कैसे करें


R में gsub() फ़ंक्शन का उपयोग R में एक स्ट्रिंग में एक निश्चित पैटर्न की सभी घटनाओं को बदलने के लिए किया जा सकता है।

एक साथ कई मॉडलों को बदलने के लिए, आप नेस्टेड gsub() स्टेटमेंट का उपयोग कर सकते हैं:

 df$col1 <- gsub(' old1 ', ' new1 ',
           gsub(' old2 ', ' new2 ',
           gsub(' old3 ', ' new3 ', df$col1)))

हालाँकि, एक बहुत तेज़ तरीका स्ट्रिंग पैकेज से stri_replace_all_regex() फ़ंक्शन है, जो निम्नलिखित सिंटैक्स का उपयोग करता है:

 library (stringi)

df$col1 <- stri_replace_all_regex(df$col1,
                                  pattern=c(' old1 ', ' old2 ', ' old3 '),
                                  replacement=c(' new1 ', ' new2 ', ' new3 '),
                                  vectorize= FALSE )

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

विधि 1: एकाधिक टेम्पलेट्स को नेस्टेड gsub() से बदलें

मान लीजिए कि हमारे पास R में निम्नलिखित डेटा फ़्रेम है:

 #create data frame
df <- data. frame (name=c('A', 'B', 'B', 'C', 'D', 'D'),
                 dots=c(24, 26, 28, 14, 19, 12))

#view data frame
df

  name points
1 to 24
2 B 26
3 B 28
4 C 14
5 D 19
6 D 12

हम नाम कॉलम में कई पैटर्न को बदलने के लिए नेस्टेड gsub() स्टेटमेंट का उपयोग कर सकते हैं:

 #replace multiple patterns in name column
df$name <- gsub(' A ', ' Andy ',
           gsub(' B ', ' Bob ',
           gsub(' C ', ' Chad ', df$name)))

#view updated data frame
df

  name points
1Andy 24
2 Bob 26
3 Bob 28
4 Chad 14
5 D 19
6 D 12

ध्यान दें कि नाम कॉलम में ए, बी और सी सभी को नए मानों से बदल दिया गया है।

विधि 2: एकाधिक मॉडलों को स्ट्रिंग से बदलें

एकाधिक पैटर्न को बदलने का एक बहुत तेज़ तरीका स्ट्रिंग पैकेज से stri_replace_all_regex() फ़ंक्शन का उपयोग करना है।

निम्नलिखित कोड दिखाता है कि इस फ़ंक्शन का उपयोग कैसे करें:

 library (stringi)

#replace multiple patterns in name column
df$name <- stri_replace_all_regex(df$name,
                                  pattern=c(' A ', ' B ', ' C '),
                                  replacement=c(' Andy ', ' Bob ', ' Chad '),
                                  vectorize= FALSE )

#view updated data frame
df

  name points
1Andy 24
2 Bob 26
3 Bob 28
4 Chad 14
5 D 19
6 D 12

ध्यान दें कि परिणामी डेटा फ़्रेम पिछले उदाहरण से मेल खाता है।

यदि आपका डेटा फ़्रेम थोड़ा भी बड़ा है, तो आप देखेंगे कि यह फ़ंक्शन gsub() फ़ंक्शन की तुलना में बहुत तेज़ है।

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

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:

आर में रिप्लेस() फ़ंक्शन का उपयोग कैसे करें
आर डेटाफ़्रेम में मानों को सशर्त रूप से कैसे बदलें

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

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