2013-08-23 16 views
5

मान लीजिए मैं दो सरणियों, array1 और array2, उस तरहआर में दो सरणियों मर्ज

array1

 45 46 47 48 49 50 
     1.0 1.5 1.3 1.2 0.9 1.1 

array2

 45 46 47 48 49 50 
     2.5 5.5 4.5 5.8 1.5 8.4 

देखने के लिए और मैं उन्हें एक डेटा में मर्ज करना चाहते हैं फ्रेम जैसा दिखता है:

 1.0 2.5 
     1.5 5.5 
     1.3 4.5 
     1.2 5.8 
     0.9 1.5 
     1.1 8.4 

संख्या 45 से 50 कोई फर्क नहीं पड़ता।

+0

क्या आप अपने सरणी को 'dput' कर सकते हैं ताकि हम आपकी वस्तुओं की वास्तविक संरचना के अनुमान लगा रहे हों? – A5C1D2H2I1M1N2O1R2T1

+0

क्या हमने आपके प्रश्न का उत्तर दिया है? – dayne

उत्तर

1

आपको ?rbind और ?t को गठबंधन करने में सक्षम होना चाहिए, या बस अपने डेटा के प्रारूप के आधार पर ?cbind का उपयोग करने में सक्षम होना चाहिए।

उदाहरण के लिए:

new.array <- t(rbind(array1,array2)) 

या

new.array <- cbind(array1,array2) 

या

new.arrray <- data.frame(array1,array2) 

आप दो वैक्टर है, तो cbind जाना सबसे अच्छा तरीका है। हालांकि, मान लें कि आपके पास दो डेटा फ्रेम हैं। अर्थात्:

array1 <- t(data.frame(array1=c(1.0,1.5,1.3,1.2,0.9,1.1))) 
array2 <- t(data.frame(array2=c(2.5,5.5,4.5,5.8,1.5,8.4))) 

cbind का उपयोग करते हुए वांछित आउटपुट नहीं देंगे, और आप t और rbind गठबंधन करने के लिए की आवश्यकता होगी।

> cbind(array1,array2) 
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] 
array1 1 1.5 1.3 1.2 0.9 1.1 2.5 5.5 4.5 5.8 1.5 8.4 

> t(rbind(array1,array2)) 
    array1 array2 
[1,] 1.0 2.5 
[2,] 1.5 5.5 
[3,] 1.3 4.5 
[4,] 1.2 5.8 
[5,] 0.9 1.5 
[6,] 1.1 8.4 
8
array1 <- c(1.0,1.5,1.3,1.2,0.9,1.1) 
array2 <- c(2.5,5.5,4.5,5.8,1.5,8.4) 

result = cbind(array1, array2) 

मामले में आप (अपने प्रश्न में पोस्ट के रूप में) किसी भी स्तंभ नाम या पंक्ति नाम देखने के लिए नहीं करना चाहते हैं, तो आपको निम्न करना चाहिए:

result = as.matrix(cbind(array1, array2)) 
dimnames(result) <-list(rep("", dim(result)[1]), rep("", dim(result)[2])) 

आप मिल:

> result 

    1.0 2.5 
    1.5 5.5 
    1.3 4.5 
    1.2 5.8 
    0.9 1.5 
    1.1 8.4 
+2

'as.matrix (cbind (...)) 'यहां बहुत अनावश्यक है, है ना? ''Matrix' बनाने के लिए डिफ़ॉल्ट' cbind' विधि है। 'Data.frame' के लिए एक अलग विधि है, लेकिन इस तरह के मामलों में इसे नहीं कहा जाता है। – A5C1D2H2I1M1N2O1R2T1

-2

आप नीचे दिए गए कोड से सरणियों को मर्ज कर सकते हैं और आवश्यक प्रारूप में प्रदर्शित कर सकते हैं।

  for (int i = 45; i <=50; i++) 
      { 

       float[] merge = { array1[i], array2[i] }; 

      } 
      // to display in required format 

      for (int j =0; i <merge.Length; i++) 
      { 

       Console.WriteLine(merge[i]); 

      } 
+0

मुझे लगता है कि ओपी टैग का उपयोग कर समाधान की तलाश में था। – dayne

+0

टैग देखें 'आर' सवाल आर के बारे में है। –

संबंधित मुद्दे