Last chance! 50% off DataCamp Premium
Sale ends in
R में डेटा रीशेपिंग का अर्थ है पंक्तियों और स्तंभों को अपनी ज़रूरत के अनुसार इस तरह व्यवस्थित करना कि आप उन्हें अपने प्रयोजन के लिए उपयोग कर सकें। प्रायः डेटा को R में डेटा फ़्रेम फ़ॉर्मेट के रूप में लिया जाता है ताकि 'rbind()', 'cbind()' जैसी फ़ंक्शनों का उपयोग करके डेटा प्रोसेसिंग की जा सके।
इस प्रक्रिया में, आप डेटा को पंक्तियों और स्तंभों में फिर से आकार देते हैं या पुनर्गठित करते हैं। रीशेपिंग का मतलब है डेटा को उस विशिष्ट तरीके से पुनर्गठित करना, जिसकी आपको आगे प्रोसेस करने के लिए आवश्यकता है।
आइए एक रैंडम नंबर जेनरेटर बनाएं और डेटा फ़्रेम में जोड़ने के लिए कॉलम तैयार करें। साथ ही बाद में उपयोग के लिए id भी डालें। 'set.seed(123)' का उपयोग रैंडम नंबर उत्पन्न करने के लिए किया जाता है ताकि जो भी इसे उपयोग करे, सभी मशीनों पर वही सैंपल दोहराया जा सके। तीन चर colm1, colm2, colm3 बनाए जाते हैं। 'sample()' की मदद से 1 से 15 तक के मान उत्पन्न होते हैं, और वही मान दोहराया भी जा सकता है। साथ ही, एक डेटा फ़्रेम का उपयोग तालिका में डेटा संग्रहीत करने के लिए किया जाता है और id भी जोड़ी जाती है, जो एक अद्वितीय संख्या है।
set.seed(123)
N <- 15
colm1 <- sample(1:15, N, replace=TRUE)
colm2 <- sample(1:15, N, replace=TRUE)
colm3 <- sample(1:15, N, replace=TRUE)
df_Temp <- data.frame(colm1, colm2,colm3)
df_Temp$id<-seq(nrow(df_Temp))
df_Temp
ऊपर के कोड से निम्नलिखित आउटपुट मिलता है, जहाँ 'colm1', 'colm2', 'colm3' नामक तीन कॉलम हैं और 1 से 15 तक की id शामिल है। संबंधित कॉलमों में मान 1 से 15 तक भरे गए हैं, जहाँ कुछ संख्याएँ दोहराई गई हैं, जबकि कुछ संख्याएँ आ भी नहीं सकतीं।
colm1 colm2 colm3 id
15 11 14 1
15 5 3 2
3 3 4 3
14 11 14 4
3 9 1 5
10 12 11 6
2 9 7 7
6 9 5 8
11 13 12 9
5 3 15 10
4 8 10 11
14 10 13 12
6 7 7 13
9 10 9 14
10 9 9 15
उपयोग: वेक्टर, मैट्रिक्स और डेटा फ़्रेम को स्तंभों द्वारा संयोजित करने के लिए।
पैरामीटर: cbind(v1,v2): v1, v2 वेक्टर, मैट्रिक्स या डेटा फ़्रेम हो सकते हैं
आइए बाइंडिंग का उदाहरण देखें।
'df_Temp[,4]' से id चुनी जा सकती है, जबकि 'df_Temp[,2]' df_Temp के 'colm2' को चुनता है, जैसा कि नीचे दिया है, जो 'cbind()' का पैरामीटर बनता है और 'cbindexample' चर में संग्रहीत होता है। आगे, 'colnames()' की मदद से कॉलम नाम बदले जा सकते हैं, जो c वेक्टर इनपुट के रूप में वेरिएबल स्वीकार करता है और नए मान, अर्थात् 'newid', 'new_colm2' देता है।
cbindexample<-cbind(df_Temp[,4],df_Temp[,2])
colnames(cbindexample)<- c('newid','new_colm2')
cbindexample
ऊपर का कोड निम्नलिखित आउटपुट देता है जिससे आप 'cbind' फ़ंक्शन का उपयोग करके id और column2 के दो कॉलम बाइंड करके एक नया डेटा फ़्रेम बना सकते हैं। साथ ही, कॉलम नाम 'new_colm2' कर दिया गया है, जबकि 'id' को 'newid' कर दिया गया है।
newid new_colm2
1 11
2 5
3 3
4 11
5 9
6 12
7 9
8 9
9 13
10 3
11 8
12 10
13 7
14 10
15 9
उपयोग: rbind का उपयोग वेक्टर, मैट्रिक्स या डेटा फ़्रेम को पंक्तियों द्वारा संयोजित करने के लिए किया जाता है।
पैरामीटर: rbind(v1,v2): v1, v2 वेक्टर, मैट्रिक्स या डेटा फ़्रेम हो सकते हैं।
आइए 'new_vector' नामक एक नया वेक्टर बनाएं और उसे दो कॉलम वाले नए 'cbindexample' के साथ 'rbind' का उपयोग करके संयोजित करें, जहाँ दोनों को जोड़कर 'rbindexample' में संग्रहीत किया जाता है।
new_vector<- c(16,15)
rbindexample<- rbind(cbindexample,new_vector)
rbindexample
ऊपर का कोड नीचे दिया आउटपुट देता है, जहाँ 'newid' और 'new_colm2' में क्रमशः 16 और 15 के मानों के साथ एक नई पंक्ति जोड़ी गई है।
newid new_colm2
1 11
2 5
3 3
4 11
5 9
6 12
7 9
8 9
9 13
10 3
11 8
12 10
13 7
14 10
15 9
16 15
उपयोग: Melt फ़ंक्शन किसी ऑब्जेक्ट को molten अवस्था में बदलने के लिए उपयोग होता है, अर्थात यह डेटा के कई कॉलमों को लेकर उन्हें एक ही कॉलम में बदल देता है।
पैरामीटर: melt(data,…,na.rm=FALSE/TRUE, value.name=”value” ),
data: वह इनपुट जिसे आप melt करने जा रहे हैं।
...: वह इनपुट जो पास किया जाता है या जहाँ से किया जाता है।
na.rm: इसका उपयोग स्पष्ट missing मानों को अप्रत्यक्ष missing में बदलने के लिए होता है।
value.name: मानों को वेरिएबल में संग्रहीत करने के लिए
आइए वह कोड देखें, जहाँ आप id वेरिएबल का उपयोग करके डेटा को एक कॉलम में 'column name' और 'value' के साथ 'molt' करते हैं:
आइए 'library()' का उपयोग करके 'reshape2' लाइब्रेरी इम्पोर्ट करें और 'id' वेरिएबल के अनुसार 'df_Temp' के colm1, colm2, colm3 कॉलमों को एक ही स्थान 'variable' में मिलाने के लिए melt का उपयोग करें।
library(reshape2)
molted=melt(df_Temp,id.vars=c("id"))
molted
id variable value
1 colm1 15
2 colm1 15
3 colm1 3
4 colm1 14
5 colm1 3
6 colm1 10
7 colm1 2
8 colm1 6
9 colm1 11
10 colm1 5
11 colm1 4
12 colm1 14
13 colm1 6
14 colm1 9
15 colm1 10
1 colm2 11
2 colm2 5
3 colm2 3
4 colm2 11
5 colm2 9
6 colm2 12
7 colm2 9
8 colm2 9
9 colm2 13
10 colm2 3
11 colm2 8
12 colm2 10
13 colm2 7
14 colm2 10
15 colm2 9
1 colm3 14
2 colm3 3
3 colm3 4
4 colm3 14
5 colm3 1
6 colm3 11
7 colm3 7
8 colm3 5
9 colm3 12
10 colm3 15
11 colm3 10
12 colm3 13
13 colm3 7
14 colm3 9
15 colm3 9
ऊपर का आउटपुट दिखाता है कि जब आप id वेरिएबल के अनुसार colm1, colm2, colm3 के डेटा को molt करते हैं, तो वह 'variable' नामक एक कॉलम में संयोजित हो जाता है और कॉलम के मान 'value' में रखे जाते हैं।
उपयोग: जब आपके पास एक molten डेटासेट हो, तो आप इस फ़ंक्शन का उपयोग करके उसे मूल फ़ॉर्मेट में बदल सकते हैं।
पैरामीटर: dcast(data,id_variable~value),
data: molten डेटा जिसे मूल रूप में बदलना है।
id_variable: एक या एकाधिक कॉलम जो अन्य कॉलमों के डेटा को एक कॉलम में melt करने के लिए उपयोग किए गए थे।
~: इस चिन्ह के बाद हम molten डेटासेट के वैल्यूज़ या नए molten कॉलम का उपयोग करते हैं।
आप नीचे का कोड देख सकते हैं जहाँ 'library()' का उपयोग करके 'reshape2' इम्पोर्ट किया गया है, जहाँ 'dcast()' का पहला पैरामीटर वह डेटा है जिस पर 'molt()' फ़ंक्शन किया गया था और '~' चिन्ह के साथ id दी जाती है, जहाँ नया molten कॉलम बनता है।
library(reshape2)
dcast(molted,id~variable)
id colm1 colm2 colm3
1 15 11 14
2 15 5 3
3 3 3 4
4 14 11 14
5 3 9 1
6 10 12 11
7 2 9 7
8 6 9 5
9 11 13 12
10 5 3 15
11 4 8 10
12 14 10 13
13 6 7 7
14 9 10 9
15 10 9 9
आप देख सकते हैं कि 'molt()' फ़ंक्शन के बाद डेटा फिर से मूल डेटासेट में बदल गया है। तीन कॉलम हैं, जिनमें उनके संबंधित मान हैं, और id एक अलग कॉलम में है।
उपयोग: यह पंक्तियों को स्तंभों में और स्तंभों को पंक्तियों में बदलने के लिए उपयोग किया जाता है।
पैरामीटर: t(data), data वह डेटा फ़्रेम है जिसे आपको पास करना है और जिसका ट्रांसपोज़ लेना है।
आइए transpose फ़ंक्शन का उपयोग करके पंक्ति को स्तंभ और स्तंभ को पंक्ति में बदलें। यह सरलता से 't(df_Temp)' का उपयोग करके किया जा सकता है, जैसा कि नीचे किया गया है।
trans <- t(df_Temp)
trans
ऊपर का कोड निम्नलिखित आउटपुट देता है:
colm1 15 15 3 14 3 10 2 6 11 5 4 14 6 9 10
colm2 11 5 3 11 9 12 9 9 13 3 8 10 7 10 9
colm3 14 3 4 14 1 11 7 5 12 15 10 13 7 9 9
id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
आप देख सकते हैं कि 15 पंक्तियों और चार कॉलम वाले डेटा फ़्रेम को ट्रांसपोज़ लेने पर 15 कॉलम और 3 पंक्तियों में बदल दिया गया है।
बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!
इस ट्यूटोरियल में, आपने R के अलग-अलग फ़ंक्शन जैसे 'rbind(),'cbind()', साथ ही 'Melt()', 'Dcast()', और अंत में transpose फ़ंक्शन के बारे में सीखा।
यदि आप R के बारे में और सीखना चाहते हैं, तो DataCamp का Introduction to R कोर्स करें और हमारा R Packages: A Beginner's Tutorial देखें।
संदर्भ:
Melt फ़ंक्शंस
R पाठ्यक्रम
कोर्स
कोर्स
कोर्स