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
我该怎么做?分开日期,即月份和比较?
答案 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)