2013-11-01 85 views
2

我有一個包含34個變量和25,000個觀察值的數據集。每個觀察都是指特定事件。它的格式是這樣的:按月計算觀察次數/頻率

no id date   .... 
1 363 006 2005-11-05 
2 939 012 2007-01-23 
3 541 090 2009-06-14 

我想知道,如果有人能夠引導我如何通過包含在該數據集5年內得到事故總數的每個月。

回答

5

好像你只是想計算行每個月的數量,如果是的話你可以用table()

> #make junk data 
> data <- data.frame(no=rnorm(100),id=rnorm(100),date=seq(Sys.Date()-99,Sys.Date(),by="day")) 
> table(format(data$date,"%b-%Y")) 
Aug-2013 Jul-2013 Nov-2013 Oct-2013 Sep-2013 
     31  7  1  31  30 
+0

好的,這是一個好的開始。儘管我需要月份和年份。總計1-2004,2-2004,... 1-2009,2-2009。然後將總計作爲變量存儲(我可能會想到這一點)。 – chilland

+0

不知道你也想多年,我爲你編輯瞭解決方案。 – David

+0

好的最後一個問題,任何方式來格式化它作爲日期,而不是一個因素,以便我可以按年分類,而不是按字母順序將它放在數據框中?現在當我使用as.date()時,我只是得到了NAs。 – chilland

0
tapply(dfrm$no, sub(".+-(.+)-.+", "\\1", dfrm$date), sum, na.rm=TRUE) 

月份和年份在MM-YYYY格式以此爲你的分類代碼:

.... , sub("(.+)-(.+)-.+", "\\2-\\1", data$date) , ....