2013-02-17 14 views
7

में डुप्लिकेट वेक्टर सोच आर में एक मैट्रिक्स में एक वेक्टर नकल करने के लिए कैसे उदाहरणमैट्रिक्स आर

v = 1:10 
dup = duplicate(V,2) 

जहां duprbind(1:10,1:10) की तरह लग रहा है। धन्यवाद

+2

बस एक सिर ऊपर: 'डुप्लिकेट' एक ऐसा फ़ंक्शन है जो एक वेक्टर के भीतर डुप्लीकेट * पाता है। और जैसा कि @ थेलेटमेल मेल करता है, 'आर' रीसायकल करता है, और इसलिए आपको यह इंगित करने की आवश्यकता है कि आपके मैट्रिक्स की कितनी पंक्तियां आवश्यक हैं और 'आर' आपके लिए वेक्टर को स्वचालित रूप से दोहराएगी। –

उत्तर

17

मुझे लगता है कि आप replicate देख रहे हैं।

t(replicate(2, v)) 
+0

पाठकों को ध्यान देने योग्य है कि 'प्रतिलिपि' आमतौर पर इस तरह उपयोग नहीं किया जाता है; साथ ही, यह नीचे दिए गएलेटमे के दृष्टिकोण से बहुत धीमी है। वैसे भी पठनीयता/लालित्य के लिए +1। – MichaelChirico

16
वैकल्पिक रूप से

:

matrix(v,nrow=2,ncol=length(v),byrow=TRUE) 
+0

जो 'बाय्रो '(जैसा कि मुझे लगता है) के बिना परिणाम ट्रांसपोज़ करने से तेज़ है – MichaelChirico

0

निजी तौर पर मैं सिर्फ एक लोगों वेक्टर से गुणा करें ..

उदाहरण के लिए

, अगर वी एक स्तंभ वेक्टर है: वी [1 1] -> [ vv]

-1

तो आप का उपयोग ftable आप नए मैट्रिक्स की पंक्तियों की संख्या को छोड़ सकते हैं

as.matrix(ftable(replicate(2,v))) 
+0

आपका उत्तर मूल रूप से स्पष्टीकरण के बिना बेकार है। –

0

मौड के उत्तर के समान लेकिन कुछ और स्पष्टता के साथ।

n <- 10 
v <- c(1,4,3,6,4,7,8,1) # random 
t(t(rep(1, n))) %*% v 

तेजी से होना चाहिए लेकिन कुछ अन्य उत्तरों के रूप में सुरुचिपूर्ण नहीं होना चाहिए।

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