2012-11-20 25 views
14

के लिए कुछ कॉलम की योग कोशिकाएं मैं कुछ कॉलम के लिए रकम की गणना करना चाहता हूं और फिर प्रत्येक पंक्ति के लिए इस सारांश को लागू करना चाहता हूं। दुर्भाग्यवश, मैं केवल पहले चरण तक पहुंच सकता हूं। मैं अब प्रत्येक पंक्ति के लिए कैसे हो सकता हूं? मुझे पता है कि आर को लूप की आवश्यकता नहीं है लेकिन सही दृष्टिकोण क्या होगा?प्रत्येक पंक्ति

मेरे मैट्रिक्स (zscore) इस तरह दिखता है:

a b c t y 
1 3 4 7 7 4 

2 4 56 6 6 4 

3 3 3 2 1 7 

4 3 88 9 9 9 

अब मैं, प्रत्येक पंक्ति के लिए पंक्ति योग की गणना करने के लिए colums से कुछ के आधार पर चाहते हैं। एक पंक्ति के लिए यह इस तरह दिख सकता है:

f1 <- sum(zscore[1,1:2], zscore[1,3], zscore[1,5]) 

मैं अब प्रत्येक पंक्ति के लिए ऐसा कैसे कर सकता हूं?

उत्तर

33

आप कुछ इस तरह कर सकता है:

summed <- rowSums(zscore[, c(1, 2, 3, 5)]) 
+0

अद्भुत, मैंने इस दौरान एक लूप के साथ किया, लेकिन आपका समाधान तरीका क्लीनर है! – user1807857

+0

यह आर की शक्ति है :) – alestanis

0

आप एनए नहीं है, तो अपनी मेज गैर-संख्यात्मक स्तंभ होते हैं, तो आप इस

suma.zscore = (zscore$a + zscore$c + zscore$t + zscore$y) 
+0

डेटाफ्रेम या मैट्रिक्स के आधार पर, जैसा कि संभवतः काम करने के लिए आवश्यक है: suma.zscore = (as.numeric (zscore $ a) + as.numeric (zscore $ सी) ... आदि) –

0

आवेदन कर सकते हैं, सुनिश्चित करें कि आप उन्हें निकाल कर rowSum में।

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