द्वारा बड़े मैट्रिक्स में कुल पंक्तियां मैं पंक्तियों में मान जोड़कर एक मैट्रिक्स की पंक्तियों को जोड़ना चाहूंगा जिसमें समान राउननाम है। मेरे वर्तमान दृष्टिकोण इस प्रकार है:rowname
> M
a b c d
1 1 1 2 0
1 2 3 4 2
2 3 0 1 2
3 4 2 5 2
> index <- as.numeric(rownames(M))
> M <- cbind(M,index)
> Dfmat <- data.frame(M)
> Dfmat <- aggregate(. ~ index, data = Dfmat, sum)
> M <- as.matrix(Dfmat)
> rownames(M) <- M[,"index"]
> M <- subset(M, select= -index)
> M
a b c d
1 3 4 6 2
2 3 0 1 2
3 4 2 5 2
इस appraoch की समस्या यह है कि मैं (1.000 पंक्तियों और 30.000 कॉलम तक) बहुत बड़ी मैट्रिक्स के एक नंबर करने के लिए इसे लागू करने की आवश्यकता है। इन मामलों में गणना समय बहुत अधिक है (ddply का उपयोग करते समय वही समस्या)। क्या समाधान के साथ आने के लिए और अधिक सार्थक है? क्या यह मदद करता है कि मूल इनपुट मैट्रिक्स tm पैकेज से DocumentTermMatrix हैं? जहां तक मुझे पता है कि वे एक स्पैर मैट्रिक्स प्रारूप में संग्रहीत हैं।
आपको पूरी तरह से स्पष्ट करने की आवश्यकता नहीं है, लेकिन मैं 'reshape' पैकेज (पिघल() और कास्ट()) के साथ थोड़ा सा खेलूँगा। लेकिन अधिक महत्वपूर्ण: आपने पहली जगह डुप्लिकेट पंक्ति नामों को कैसे अनुमति दी? यह आमतौर पर एक बुरा विचार है। –
मेरे डेटा में rownames तिथियां हैं। जब भी मेरे पास एक ही तारीख पर कई अवलोकन होते हैं तो वे डुप्लीकेट होते हैं। – Christian
@ क्रिस्टियन यह ठीक है। मुझे लगता है कि कार्ल डेटा फ्रेम के बारे में सोच रहा है, जहां डुप्लिकेट की सख्ती से अनुमति नहीं है। –