आर में एक कॉलम को कई कॉलम में कैसे विभाजित करें (उदाहरण के साथ)
आप R में एक कॉलम को कई कॉलम में विभाजित करने के लिए दो तरीकों में से एक का उपयोग कर सकते हैं:
विधि 1: str_split_fixed() का उपयोग करें
library (stringr) df[c(' col1 ', ' col2 ')] <- str_split_fixed(df$original_column, ' sep ', 2)
विधि 2: अलग() का उपयोग करें
library (dplyr) library (tidyr) df %>% separate(original_column, c(' col1 ', ' col2 '))
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।
विधि 1: str_split_fixed() का उपयोग करें
मान लीजिए हमारे पास निम्नलिखित डेटा फ़्रेम है:
#create data frame
df <- data. frame (player=c('John_Wall', 'Dirk_Nowitzki', 'Steve_Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#view data frame
df
player points assists
1 John_Wall 22 8
2 Dirk_Nowitzki 29 4
3 Steve_Nash 18 15
हम ‘प्लेयर’ कॉलम को ‘फर्स्ट’ और ‘लास्ट’ नामक दो नए कॉलम में विभाजित करने के लिए स्ट्रिंगर पैकेज से str_split_fixed() फ़ंक्शन का उपयोग इस प्रकार कर सकते हैं:
library (stringr)
#split 'player' column using '_' as the separator
df[c(' First ', ' Last ')] <- str_split_fixed(df$player, ' _ ', 2)
#view updated data frame
df
player points assists First Last
1 John_Wall 22 8 John Wall
2 Dirk_Nowitzki 29 4 Dirk Nowitzki
3 Steve_Nash 18 15 Steve Nash
ध्यान दें कि डेटा फ़्रेम के अंत में दो नए कॉलम जोड़े गए हैं।
यदि आप चाहें तो बेझिझक कॉलमों को पुनर्व्यवस्थित करें और मूल “प्लेयर” कॉलम हटा दें:
#rearrange columns and leave out original 'player' column
df_final <- df[c('First', 'Last', 'points', 'assists')]
#view updated data frame
df_final
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
विधि 2: अलग() का उपयोग करें
निम्नलिखित कोड दिखाता है कि “प्लेयर” कॉलम को “पहले” और “अंतिम” कॉलम में अलग करने के लिए Tidyr पैकेज के सेपरेट() फ़ंक्शन का उपयोग कैसे करें:
library (dplyr)
library (tidyr)
#create data frame
df <- data. frame (player=c('John_Wall', 'Dirk_Nowitzki', 'Steve_Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#separate 'player' column into 'First' and 'Last'
df %>% separate(player, c(' First ', ' Last '))
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
ध्यान दें कि अलग () फ़ंक्शन किसी भी गैर-अल्फ़ान्यूमेरिक मान के आधार पर स्ट्रिंग को अलग करेगा।
उदाहरण के लिए, यदि पहले और अंतिम नाम को अल्पविराम से अलग किया जाता है, तो सेपरेट() फ़ंक्शन स्वचालित रूप से अल्पविराम के स्थान के आधार पर विभाजित हो जाएगा:
library (dplyr)
library (tidyr)
#create data frame
df <- data. frame (player=c('John,Wall', 'Dirk,Nowitzki', 'Steve,Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#separate 'player' column into 'First' and 'Last'
df %>% separate(player, c(' First ', ' Last '))
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
आप सेपरेट() फ़ंक्शन के लिए संपूर्ण ऑनलाइन दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:
आर में दो कॉलम को एक में कैसे संयोजित करें
आर में कॉलम द्वारा डेटा फ़्रेम को कैसे क्रमबद्ध करें
आर में डेटा फ़्रेम में कॉलम कैसे जोड़ें