需要R中聚合函数的帮助

时间:2014-08-15 19:43:40

标签: r

 MaxVal=aggregate(test$a,by=list(Date=test$OF_DATE),FUN=max 

OF_Date是一个日期为五年的列,因此当我使用上面的函数时,我得到的最大值是' a'从所有日期开始,但我需要最大的价值来评估' a'每个月。

  Date            a
2008-01-15       25
2008-01-29       10
2008-01-30       30
2008-02-02       15
2008-02-09       45
2008-03-05       60
2008-03-29       55

当我运行此功能时,我的输出是

2008-03-05       60

但我需要输出

2008-01-30       30
2008-02-09       45
2008-03-05       60

我该怎么做?分开日期,即月份和比较?

1 个答案:

答案 0 :(得分:2)

以下是使用format将日期缩短为数年和数月的解决方案。聚合调用打印在下面。

dat <- read.table(header=TRUE, text=
  "Date            a
  2008-01-15       25
  2008-01-29       10
  2008-01-30       30
  2008-02-02       15
  2008-02-09       45
  2008-03-05       60
  2008-03-29       55")

dat$Date <- as.Date(dat$Date)
dat$Month <- format(dat$Date, "%Y-%m")

aggregate(a ~ Month, data=dat, max)