-3

所以我已经尝试了几天,但我似乎无法弄清楚这一点。我正在尝试在具有相应日期的列中打印最大值。

我的 theData 格式如下:

Date         Time        Value 
20130811     9:30         12
20130811     9:31          0
20130811     9:32          1
20130812     9:30          8
20130812     9:31          99
20130812     9:32          12

以下代码是在较早的帖子中向我建议的,并且部分有效:

 max <- ddply(theData,.(Date),summarize, High=max(Value))

产生:

  Date     Value 
  20130811  12
  20130812  99

我需要代码来产生:

 Date      Time      Value 
 20130811   9:30       12
 20130812   9:31       99

有没有办法在不使用 for 循环的情况下做到这一点?

谢谢你的帮助。

4

1 回答 1

2

我将重复之前帖子中的答案,该答案仍然有效:

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


          Date Time max.value
1 20130811 9:30        12
2 20130812 9:31        99
于 2013-08-11T23:08:38.857 回答