-4

Excelスプレッドシートからインポートしたデータフレームを通過するRスクリプトを作成しようとしています(フォーマットについては以下を参照)、毎日の最大値までの毎日の値の合計(および毎日の最大値を含む)を見つけます

データは次のようになります。

5/1/2012  0:00  0         
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1

したがって、私が想定している関数は次を返します。

1 5/1/2012 15:00 17
2 5/2/2012 18:00 35

何か案は?

4

1 に答える 1

0

これは、最後の質問で@Thierryが提供した回答に対する非常に小さな調整です

dat.str <- '5/1/2012  0:00  0 
5/1/2012  3:00  1
5/1/2012  6:00  2
5/1/2012  9:00  5
5/1/2012 12:00  3
5/1/2012 15:00  6
5/1/2012 18:00  2
5/1/2012 21:00  1
5/2/2012  0:00  2
5/2/2012  3:00  3
5/2/2012  6:00  6
5/2/2012  9:00  4
5/2/2012 12:00  6
5/2/2012 15:00  7
5/2/2012 18:00  9
5/2/2012 21:00  1
'

dat <- read.table(textConnection(dat.str))

library(plyr)
ddply(dat, .(V1), function(x){
   sum(x[1:(which.max(x$V3)), "V3"])
})

また、あなたは何のイニシアチブも仕事も示していないと思います。EDIT @John はい、最後の質問がこれを反映するように編集されて以来、OP はデータをわずかに変更しました。

于 2012-06-21T23:50:06.727 に答える