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年內得到事故總數的每個月。
我有一個包含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年內得到事故總數的每個月。
好像你只是想計算行每個月的數量,如果是的話你可以用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
tapply(dfrm$no, sub(".+-(.+)-.+", "\\1", dfrm$date), sum, na.rm=TRUE)
月份和年份在MM-YYYY格式以此爲你的分類代碼:
.... , sub("(.+)-(.+)-.+", "\\2-\\1", data$date) , ....
好的,這是一個好的開始。儘管我需要月份和年份。總計1-2004,2-2004,... 1-2009,2-2009。然後將總計作爲變量存儲(我可能會想到這一點)。 – chilland
不知道你也想多年,我爲你編輯瞭解決方案。 – David
好的最後一個問題,任何方式來格式化它作爲日期,而不是一個因素,以便我可以按年分類,而不是按字母順序將它放在數據框中?現在當我使用as.date()時,我只是得到了NAs。 – chilland