我有一个包含 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) , ....