-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 に答える