2015-08-20 4 views
5

इसलिए मैंने सोचा कि मेरे यहां मेरे प्रश्न का उत्तर है: Cumulative sum until maximum reached, then repeat from zero in the next row लेकिन वास्तव में यह नहीं है।एक दिए गए मान तक पहुंच गया है

मैं जो करना चाहता हूं वह एक कॉलम को समेटने में सक्षम होना चाहिए जब तक कि किसी अन्य कॉलम में दिए गए मान तक पहुंच न हो जाए। अगर हम उदाहरण के लिए ले: 12 + 14 + 2 + 0.5 + 12:

Col1 Col2 Col3 
0  12  
0  14 
1  2 
2  0.5 
1  12 
4  3 
3  2 

मैं जब तक हम स्तंभ 1 में 4 तक पहुँचने यह यहाँ देना होगा स्तंभ 2 के सभी मानों का योग करने में सक्षम होना चाहते हैं

मैं आर के लिए पूरी तरह से नया हूं और मुझे ईमानदारी से आगे बढ़ने के बारे में कोई जानकारी नहीं है।

mydata = read.csv("mycsv.csv") 

उत्तर

5

आप cumsum(mydata$Col1 == 4) == 0 उपयोग कर सकते हैं या नहीं, 4 Col1 में पहुँच गया है एक तार्किक वेक्टर पाने के लिए:

क्या मैं एक csv फ़ाइल से एक डेटा फ्रेम है। फिर आप Col2:

sum(mydata$Col2[cumsum(mydata$Col1 == 4) == 0]) 
# [1] 40.5 
से प्रासंगिक तत्वों को पकड़ने के लिए सरल अनुक्रमण का उपयोग कर सकते हैं
संबंधित मुद्दे