1

我正在尝试使用 R 来查找每天 1 到 n 天的最大值。我的问题是每天都有多个值。这是我的代码。在我运行它之后,它每天都显示相同的答案:

20130311   12
20130311   12

之前的帖子中,有人建议我使用以下方法

library(plyr)
ddply(data,.(Day),summarize,Time=Time[which.max(Value)],max.value=max(Value)) 

我的数据如下:

Day           Time              Value 
20130310     09:30:00             5      
20130310     09:31:00             1 
20130310     09:32:00             2
20130310     09:33:00             3
20130311     09:30:00             0
20130311     09:31:00             12
20130311     09:32:00             1
20130311     09:33:00             5

为此提供的解决方案如下:

 day         time      value
 20130310    09:30:00    5 
 20130311   09:31:00   12

除了使用这种方法之外还有什么建议吗?

4

1 回答 1

3

您可以使用数据表:

DT[, max(Value), by=Date]
#        Date V1
# 1: 20130310  5
# 2: 20130311 12

在哪里,

library(data.table)
DT <- data.table( theData )
于 2013-08-08T23:32:02.103 回答