यहाँ मेरी मूल डेटा फ्रेम है कैसे:आर: कई मानदंडों के आधार पर योग और टेबल संक्षेप में प्रस्तुत
df <- read.table(text="
Date Index Event
2014-03-31 A x
2014-03-31 A x
2014-03-31 A y
2014-04-01 A y
2014-04-01 A x
2014-04-01 B x
2014-04-02 B x
2014-04-03 A x
2014-09-30 B x", header = T, stringsAsFactors = F)
date_range <- seq(as.Date(min(df$Date)), as.Date(max(df$Date)), 'days')
indices <- unique(df$Index)
events_table <- unique(df$Event)
मैं अपने वांछित आउटपुट चाहते हैं मेरी dataframe संक्षिप्त और सूचकांक में प्रत्येक सूचकांक के लिए एक अनूठा रिकॉर्ड करने के लिए और दिनांक दिनांक_रेंज में प्रत्येक दिनांक दिनांक कॉलम में मान से पहले सभी तिथियों के लिए नए कॉलम में events_table में प्रत्येक ईवेंट का संचयी मान प्रदान करते समय। कभी-कभी प्रत्येक इंडेक्स या हर तारीख के लिए कोई रिकॉर्ड नहीं होता है। इस डेटा फ्रेम का एक सरलीकृत संस्करण है -
Date Index cumsum(Event = x) cumsum(Event = y)
2014-03-31 A 0 0
2014-03-31 B 0 0
2014-04-01 A 2 1
2014-04-01 B 0 0
2014-04-02 A 3 2
2014-04-02 B 1 0
...
2014-09-29 A 4 2
2014-09-29 B 2 0
2014-09-30 A 4 2
2014-09-30 B 2 0
FYI करें:
यहाँ मेरी वांछित उत्पादन होता है। प्रत्येक तिथि के लिए सैकड़ों अलग-अलग इंडेक्स फ़ील्ड के साथ प्रति वर्ष 200,000 रिकॉर्ड हैं।
मैंने by
और शायद aggregate
का उपयोग करके मेरी हार्ड ड्राइव तला हुआ जाने से पहले इसे पहले किया है, लेकिन प्रक्रिया बहुत धीमी थी और मैं इस बार इसे बाहर करने में सक्षम नहीं हूं। मैंने ddply
भी कोशिश की है, लेकिन मैं इसके साथ काम करने के लिए cumsum
फ़ंक्शन प्राप्त करने में सक्षम नहीं हूं। कोई लाभ नहीं हुआ
ddply(xo1, .(Date,Index), summarise,
sum.x = sum(Event == 'x'),
sum.y = sum(Event == 'y'))
: ddply
का उपयोग करना, मैं की तरह कुछ करने की कोशिश की।
खोज के माध्यम से, मुझे Replicating an Excel SUMIFS formula मिल गया है जो मुझे मेरे प्रोजेक्ट का संचयी हिस्सा प्राप्त करता है, लेकिन इसके साथ मैं यह समझने में सक्षम नहीं था कि इसे प्रति दिन/सूचकांक कॉम्बो में केवल एक रिकॉर्ड कैसे सारांशित किया जाए। मैं sum/aggregate data based on dates, R पर भी आया लेकिन यहां मैं गतिशील दिनांक पहलू को काम करने में सक्षम नहीं था।
किसी भी व्यक्ति के लिए धन्यवाद जो मदद कर सकता है!
मैं आपके अपेक्षित आउटपुट से उलझन में हूं। आपके अपेक्षित आउटपुट की एक पंक्ति में, आप 'cumsum (event = x) '' 0' होने की अपेक्षा करते हैं? भले ही आपके मूल 'डीएफ' में' दिनांक = 2014-03-31', 'इंडेक्स = ए', और' ईवेंट = एक्स' 'के साथ 2 पंक्तियां हों? – davechilders
जोर जोड़ना "मैं अपने वांछित आउटपुट को अपने डेटाफ्रेम को सारांशित करना चाहता हूं और इंडेक्स में प्रत्येक इंडेक्स और डेट्रेंज में प्रत्येक तारीख के लिए एक अद्वितीय रिकॉर्ड प्राप्त करता हूं, जबकि नए कॉलम में ईवेंट_टेबल में प्रत्येक ईवेंट का संचयी मूल्य प्रदान करता है ** सभी तिथियों के लिए दिनांक कॉलम ** " ...... पृष्ठभूमि के लिए, मैं उस जानकारी का उपयोग करके एक मॉडल बनाने की कोशिश कर रहा हूं जो उस सुबह मेरे लिए उपलब्ध होता। तो 2014-03-31 की सुबह, मेरे पास कोई डेटा उपलब्ध नहीं है।पूरे दिन, डेटा एकत्र किया जाता है, और 2014-04-01 को, 2014-03-31 से डेटा 2014-04-01 – exhoosier10
पर घटनाओं की भविष्यवाणी करने के लिए उपलब्ध होगा जो स्पष्टीकरण के लिए धन्यवाद। मुझे याद आया कि मेरे शुरुआती पढ़ने पर। – davechilders