मैं डेटा द्वारा
data <- read.table(text=" Date Hour Melbourne Southern Flagstaff
1 2009-05-01 0 0 5 17
2 2009-05-01 2 0 2 1
3 2009-05-01 1 0 11 0
4 2009-05-01 3 0 3 8
5 2009-05-01 4 0 1 0
6 2009-05-01 5 0 49 79
7 2009-05-01 6 0 425 610",
header=TRUE,stringsAsFactors=FALSE)
सेट बनाते हैं तो आप समारोह aggregate
साथ योग कर सकते हैं: ?aggregate
पर
byday <- aggregate(cbind(Melbourne,Southern,Flagstaff)~Date,
data=data,FUN=sum)
library(lubridate)
bymonth <- aggregate(cbind(Melbourne,Southern,Flagstaff)~month(Date),
data=data,FUN=sum)
देखो समारोह बेहतर समझने के लिए। (है कि क्योंकि आसान समझा बनाता है) अंतिम तर्क के साथ शुरू तर्क हों:
FUN
समारोह है कि एकत्रीकरण के लिए इस्तेमाल किया जाना चाहिए है। मैं मानों को पूरा करने के लिए sum
का उपयोग करता हूं, लेकिन मैं mean
, max
या कुछ फ़ंक्शन भी लिख सकता हूं जो आपने स्वयं लिखा था।
data
का उपयोग उस डेटा फ्रेम को इंगित करने के लिए किया जाता है जिसे मैं एकत्र करना चाहता हूं।
- पहला तर्क फ़ंक्शन को बताता है कि मैं वास्तव में क्या करना चाहता हूं।
~
के बाईं तरफ, मैं उन चरों को इंगित करता हूं जिन्हें मैं एकत्र करना चाहता हूं। यदि एक से अधिक हैं, तो वे cbind
के साथ संयुक्त होते हैं। दाईं तरफ वेरिएबल है जिसके द्वारा डेटा विभाजित किया जाना चाहिए। Date
डालने का अर्थ है कि कुल Date
के प्रत्येक विशिष्ट मान के लिए चर को जोड़ देगा।
महीने से एकत्रीकरण के लिए, मैं पैकेज lubridate
से समारोह month
इस्तेमाल किया। यह वही करता है जो किसी को उम्मीद करता है: यह एक संख्यात्मक मान देता है जो किसी दिए गए दिनांक के लिए महीने को इंगित करता है। शायद आपको पहले पैकेज को install.packages("lubridate")
द्वारा स्थापित करने की आवश्यकता है।
आप lubridate उपयोग नहीं करना चाहते हैं, तो आप के बजाय निम्न कर सकता है:
data <- transform(data,month=as.numeric(format(as.Date(Date),"%m")))
bymonth <- aggregate(cbind(Melbourne,Southern,Flagstaff)~month,
data=data,FUN=sum)
यहाँ मैं महीने में शामिल है और फिर उस स्तंभ के आधार पर संकलित है कि डेटा में एक नया कॉलम जोड़ा।
मैं पर एक त्रुटि हो रही है का उपयोग कर किया जा सकता है लाइब्रेरी (लुब्र्रिडेट) लाइन। डोई को मैन्युअल रूप से पैकेज आयात करने की आवश्यकता है? – user2787386
क्या आपने इसे पहले स्थापित किया है? 'स्थापित करें।पैकेज ("लुब्रिडेट") ' –
इसके बारे में क्षमा करें ... हां, आपको पैकेज को इंस्टॉल करना होगा जैसा कि @Marta Cz-C द्वारा वर्णित है। – Stibu