我有一个包含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年内每个月的事件总数。
答案 0 :(得分: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
答案 1 :(得分:0)
tapply( dfrm$no, sub(".+-(.+)-.+", "\\1", dfrm$date), sum, na.rm=TRUE)
对于MM-YYYY格式的月份和年份,请使用此作为类别代码:
.... , sub("(.+)-(.+)-.+", "\\2-\\1", data$date) , ....