Array एक डेटा संरचना है जो बहु-आयामी डेटा रख सकती है। R में, array ऐसे ऑब्जेक्ट होते हैं जो दो या उससे अधिक आयामों वाला डेटा रख सकते हैं। उदाहरण के लिए, वर्गाकार मैट्रिस में दो पंक्तियाँ और दो स्तंभ हो सकते हैं और आयाम पाँच तक हो सकता है। Arrays केवल समान प्रकार के डेटा मानों को संग्रहीत कर सकते हैं। डेटा एक से अधिक आयामी हो सकता है, जहाँ पंक्तियाँ और स्तंभ होते हैं और किसी लंबाई के आयाम होते हैं।
Array का निर्माण
array() फ़ंक्शन एक array बनाता है, जो एक वेक्टर (संख्याएँ) और आर्गुमेंट में दिए गए dimension ('dim') को लेता है।
नीचे एक उदाहरण देखते हैं जहाँ 'array1' और 'array2' नाम के दो वेक्टर बनाए गए हैं।
vector1 = c (5,10,15,20)
vector2 = c (25,30,35,40,45,50,55,60)संचालित द्वारा
आप ऊपर के दो वेक्टरों को एक array के इनपुट के रूप में ले सकते हैं जहाँ dimension 4 * 4 माना गया है, और दो मैट्रिस या आयामी डेटा बनाए जाते हैं।
final = array (c (array1, array2),dim =c(4,4,3))print(final)संचालित द्वारा
उपरोक्त कोड का आउटपुट नीचे है:
,,1[,1][,2][,3][,4][1,]525455[2,]10305010[3,]15355515[4,]20406020,,2[,1][,2][,3][,4][1,]2545525[2,]30501030[3,]35551535[4,]40602040,,3[,1][,2][,3][,4][1,]4552545[2,]50103050[3,]55153555[4,]60204060संचालित द्वारा
आइए हमारे array का नाम "Arr1" और "Arr2" को "matrix.names" का उपयोग करके बदलें। साथ ही, पंक्तियों के नाम ("row1","row2") और स्तंभों के नाम ("column1","column2","column3") क्रमशः कर दिए जाएँगे। मैट्रिस का आयाम 2 पंक्तियाँ और 3 स्तंभ है।
array1 = c (9,18)
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1","Arr2")
final = array (c (array1,array2), dim=c (2,3,2), dimnames=list(c.names, r.names, m.names))print(final)संचालित द्वारा
उपरोक्त कोड का आउटपुट नीचे है, जहाँ दो पंक्तियाँ और तीन स्तंभ हैं। साथ ही, जब किसी स्तंभ के मान समाप्त हो जाते हैं तो वे दोहराए जाते हैं:
एक array में बहु-आयामी तरीके से तत्व होते हैं जहाँ प्रत्येक तत्व तक किसी ऑपरेशन के लिए पहुँचा जा सकता है। तत्वों को '[]' का उपयोग करके इंडेक्स किया जा सकता है, जहाँ array-जैसी मैट्रिस में पंक्तियाँ और स्तंभ होते हैं, जिन्हें इस प्रकार इंडेक्स किया जा सकता है: mat[row, column]
आइए नीचे एक उदाहरण लेते हैं जहाँ array में 1 से 9 तक का वेक्टर इनपुट है। केवल तीन पंक्तियाँ और तीन स्तंभ हैं जहाँ 1 से 9 तक के मान शामिल हैं। 'c.names)' नया स्तंभ नाम है जिसमें वेक्टर ('c1', 'c2', 'c3') हैं और 'r.names' नया पंक्ति नाम है ('r1', 'r2', 'r3') जो भी एक वेक्टर है।
a1= c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")
arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list(c.names, r.names, m.names))print(arr)संचालित द्वारा
आप पूरे array 'arr' तक निम्न सिंटैक्स से पहुँच सकते हैं जहाँ 'arr[ , ,1]' सभी पंक्तियाँ और स्तंभ शामिल करने को निर्दिष्ट करता है, जिन्हें कॉमा द्वारा अलग किया गया है और स्पेस से दर्शाया गया है। यहाँ 1 उस array 'arr' को दर्शाता है जिसे निकाला जाना है।
आप पूरा दूसरा स्तंभ निम्न कोड से प्राप्त कर सकते हैं जहाँ arr[,2,1] में स्पेस के साथ 2 दूसरा स्तंभ है, और 1 उस 'arr' को दर्शाता है जिसे निकाला जाना है।
'apply()' R पैकेजों में से एक का हिस्सा है जिसमें कई फ़ंक्शन होते हैं जो कोड को आसान और कुशल तरीके से लिखने में मदद करते हैं। नीचे आप उदाहरण देखेंगे जहाँ इसका उपयोग दो अलग-अलग arrays के योग की गणना करने के लिए किया जा सकता है।
apply() का सिंटैक्स है: apply(x, margin, function)
ऊपर के आर्गुमेंट का अर्थ है: x: एक array या मैट्रिस के रूप में दो-आयामी डेटा। margin: दर्शाता है कि किस margin मान पर फ़ंक्शन लागू करना है — पंक्तियों के लिए c(1), स्तंभों के लिए c(2), और दोनों पंक्तियों व स्तंभों के लिए c(1,2)। function: वह R-निर्मित (built-in) या उपयोगकर्ता-परिभाषित फ़ंक्शन जो दिए गए डेटा पर लागू किया जाएगा।
आइए नीचे दिए गए कोड से 'array1' नाम का लंबाई तीन का और 'array2' नाम का लंबाई छह का वेक्टर बनाएँ।
array1 = c(5,10,15)
array2 = c(15,20,25,30,35,40)संचालित द्वारा
आप नीचे देख सकते हैं जहाँ 'array()' 'array1' और 'array2' नाम के दो वेक्टर स्वीकार करता है, 3 पंक्तियाँ, 3 स्तंभ के आयाम के साथ, और 2 मैट्रिस बनाई जाती हैं और 'my. Array' में संग्रहीत होती हैं।
my.Array <- array(c(array1,array2),dim = c(3,3,2))print(my.Array)संचालित द्वारा
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540संचालित द्वारा
उपरोक्त कोड निम्न आउटपुट देता है, जहाँ 3 3 (पंक्तियाँ स्तंभ) के साथ दो मैट्रिस बनाई जाती हैं।
,,1[,1][,2][,3][1,]51530[2,]102035[3,]152540,,2[,1][,2][,3][1,]51530[2,]102035[3,]152540संचालित द्वारा
'apply()' का उपयोग नीचे स्तंभ-वार दो मैट्रिस के योग की गणना करने के लिए किया गया है।
final <-apply(my.Array, c(2),sum)print(final)संचालित द्वारा
आप ऊपर देख सकते हैं कि margin के लिए c(2) उपयोग किया गया है, जहाँ 'my. Array' की मैट्रिस के तत्वों का स्तंभ-वार योग लिया गया है जिससे निम्न आउटपुट प्राप्त होता है।
आप ऊपर देख सकते हैं कि margin के लिए c(1) उपयोग किया गया है, जहाँ 'my. Array' की मैट्रिस के तत्वों का पंक्ति-वार योग लिया गया है जिससे निम्न आउटपुट प्राप्त होता है।
आपने R के Array के बारे में सीखा, उसके निर्माण, उदाहरणों सहित array में indexing, साथ ही मैट्रिस के निर्माण और जोड़, तथा apply() फ़ंक्शन के बारे में भी जाना।
Array एक डेटा संरचना है जो बहु-आयामी डेटा रख सकती है। R में, array ऐसे ऑब्जेक्ट होते हैं जो दो या उससे अधिक आयामों वाला डेटा रख सकते हैं। उदाहरण के लिए, वर्गाकार मैट्रिस में दो पंक्तियाँ और दो स्तंभ हो सकते हैं और आयाम पाँच तक हो सकता है। Arrays केवल समान प्रकार के डेटा मानों को संग्रहीत कर सकते हैं। डेटा एक से अधिक आयामी हो सकता है, जहाँ पंक्तियाँ और स्तंभ होते हैं और किसी लंबाई के आयाम होते हैं।
Array का निर्माण
array() फ़ंक्शन एक array बनाता है, जो एक वेक्टर (संख्याएँ) और आर्गुमेंट में दिए गए dimension ('dim') को लेता है।
नीचे एक उदाहरण देखते हैं जहाँ 'array1' और 'array2' नाम के दो वेक्टर बनाए गए हैं।
आप ऊपर के दो वेक्टरों को एक array के इनपुट के रूप में ले सकते हैं जहाँ dimension 4 * 4 माना गया है, और दो मैट्रिस या आयामी डेटा बनाए जाते हैं।
उपरोक्त कोड का आउटपुट नीचे है:
आइए हमारे array का नाम "Arr1" और "Arr2" को "matrix.names" का उपयोग करके बदलें। साथ ही, पंक्तियों के नाम ("row1","row2") और स्तंभों के नाम ("column1","column2","column3") क्रमशः कर दिए जाएँगे। मैट्रिस का आयाम 2 पंक्तियाँ और 3 स्तंभ है।
उपरोक्त कोड का आउटपुट नीचे है, जहाँ दो पंक्तियाँ और तीन स्तंभ हैं। साथ ही, जब किसी स्तंभ के मान समाप्त हो जाते हैं तो वे दोहराए जाते हैं:
Array में Indexing
एक array में बहु-आयामी तरीके से तत्व होते हैं जहाँ प्रत्येक तत्व तक किसी ऑपरेशन के लिए पहुँचा जा सकता है। तत्वों को '[]' का उपयोग करके इंडेक्स किया जा सकता है, जहाँ array-जैसी मैट्रिस में पंक्तियाँ और स्तंभ होते हैं, जिन्हें इस प्रकार इंडेक्स किया जा सकता है:
mat[row, column]आइए नीचे एक उदाहरण लेते हैं जहाँ array में 1 से 9 तक का वेक्टर इनपुट है। केवल तीन पंक्तियाँ और तीन स्तंभ हैं जहाँ 1 से 9 तक के मान शामिल हैं। 'c.names)' नया स्तंभ नाम है जिसमें वेक्टर ('c1', 'c2', 'c3') हैं और 'r.names' नया पंक्ति नाम है ('r1', 'r2', 'r3') जो भी एक वेक्टर है।
उपरोक्त कोड का आउटपुट नीचे है:
आप देख सकते हैं कि 1 से 9 तक की मैट्रिस 3 3 आयाम (पंक्ति स्तंभ) रूप में जनरेट हुई हैं, और पंक्तियों व स्तंभों के नाम बदल दिए गए हैं।
आइए देखें कि निम्न उदाहरणों से array के तत्व कैसे निकाले जा सकते हैं।
7
उपरोक्त कोड का आउटपुट 7 है। 'arr[1,3,1]' के अंदर पंक्ति 1, स्तंभ 3, और 1 पहले array 'arr' को दर्शाता है जिससे मान निकाला गया है।
1
उपरोक्त कोड का आउटपुट 1 है।
उपरोक्त कोड नीचे जैसा आउटपुट देता है जहाँ 2 पंक्तियाँ, 2 स्तंभ होते हैं और 1 पहले array 'arr' को दर्शाता है जिससे मान निकाला गया है:
उपरोक्त कोड नीचे जैसा आउटपुट देता है जहाँ सभी तत्व मौजूद हैं:
उपरोक्त कोड नीचे जैसा आउटपुट देता है और c1, c2, c3 भी प्रिंट करता है।
उपरोक्त कोड नीचे जैसा आउटपुट देता है और r1, r2, r3 भी प्रिंट करता है।
मैट्रिस बनाना और जोड़
आइए 'arr[ , ,1]' से mat1 और mat2 नाम की मैट्रिस बनाएँ जहाँ 'arr' की सभी पंक्तियाँ और स्तंभ कॉपी हो जाते हैं।
दो मैट्रिस 'mat1' और 'mat2' को जोड़ें और परिणाम final में रखें। आउटपुट भी प्रिंट किया गया है।
नीचे के आउटपुट से पता चलता है कि mat1 और mat2 की प्रत्येक पंक्ति और स्तंभ एक-दूसरे से जोड़े गए हैं।
apply()
'apply()' R पैकेजों में से एक का हिस्सा है जिसमें कई फ़ंक्शन होते हैं जो कोड को आसान और कुशल तरीके से लिखने में मदद करते हैं। नीचे आप उदाहरण देखेंगे जहाँ इसका उपयोग दो अलग-अलग arrays के योग की गणना करने के लिए किया जा सकता है।
apply() का सिंटैक्स है:
apply(x, margin, function)ऊपर के आर्गुमेंट का अर्थ है:
x: एक array या मैट्रिस के रूप में दो-आयामी डेटा।
margin: दर्शाता है कि किस margin मान पर फ़ंक्शन लागू करना है — पंक्तियों के लिए c(1), स्तंभों के लिए c(2), और दोनों पंक्तियों व स्तंभों के लिए c(1,2)।
function: वह R-निर्मित (built-in) या उपयोगकर्ता-परिभाषित फ़ंक्शन जो दिए गए डेटा पर लागू किया जाएगा।
आइए नीचे दिए गए कोड से 'array1' नाम का लंबाई तीन का और 'array2' नाम का लंबाई छह का वेक्टर बनाएँ।
आप नीचे देख सकते हैं जहाँ 'array()' 'array1' और 'array2' नाम के दो वेक्टर स्वीकार करता है, 3 पंक्तियाँ, 3 स्तंभ के आयाम के साथ, और 2 मैट्रिस बनाई जाती हैं और 'my. Array' में संग्रहीत होती हैं।
उपरोक्त कोड निम्न आउटपुट देता है, जहाँ 3 3 (पंक्तियाँ स्तंभ) के साथ दो मैट्रिस बनाई जाती हैं।
'apply()' का उपयोग नीचे स्तंभ-वार दो मैट्रिस के योग की गणना करने के लिए किया गया है।
आप ऊपर देख सकते हैं कि margin के लिए c(2) उपयोग किया गया है, जहाँ 'my. Array' की मैट्रिस के तत्वों का स्तंभ-वार योग लिया गया है जिससे निम्न आउटपुट प्राप्त होता है।
अंत में, नीचे 'apply()' का उपयोग पंक्ति-वार दो मैट्रिस के योग की गणना करने के लिए किया गया है।
आप ऊपर देख सकते हैं कि margin के लिए c(1) उपयोग किया गया है, जहाँ 'my. Array' की मैट्रिस के तत्वों का पंक्ति-वार योग लिया गया है जिससे निम्न आउटपुट प्राप्त होता है।
बधाई हो
बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!
आपने R के Array के बारे में सीखा, उसके निर्माण, उदाहरणों सहित array में indexing, साथ ही मैट्रिस के निर्माण और जोड़, तथा apply() फ़ंक्शन के बारे में भी जाना।
यदि आप R के बारे में और सीखना चाहते हैं, तो DataCamp का Introduction to R कोर्स करें।
संदर्भ:
R-Arrays
R Array Function and Create Array in R