एकाधिक टेम्पलेट्स को बदलने के लिए 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() फ़ंक्शन की तुलना में बहुत तेज़ है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:
आर में रिप्लेस() फ़ंक्शन का उपयोग कैसे करें
आर डेटाफ़्रेम में मानों को सशर्त रूप से कैसे बदलें